<?php
/**
* @filename source_module.php 2013-11-11 02:10:56x
* @author Huming Xu <huming17@126.com>
* @version 1.0.0
* @copyright DZF (c) 2013, Huming Xu
*/

class ctrl_course_main extends course_main{
    public $info_array = array();
	public $page_array = array();
	public $tree_array = array();
    
    static function &instance() {
		static $object;
		if(empty($object)) {
			$object = new self();
		}
		return $object;
	}
    /*
	*	取出一条信息
	*/
	public function do_detail_one($cm_id='') {	
		global $_G;
		$detail = array();
        $cm_id = isset($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';
		$detail = $this->one_info('course_main','cm_id',$cm_id);
		$api=isset($_REQUEST['api']) ? $_REQUEST['api']:'json';
		//DEBUG 调试输出
		if($detail['is_group'] ==1){
			$detail['child_course'] = $this->get_gour_detail($detail['cm_id']);
			/* foreach ($cm_result AS $key => $value) {
				$cm = array("type" => '', "startTime" => '', "title" => '', "price" => '', "school" => '', "id" => '', "img" => '');
				$cm['type'] = $value['cm_cate_id'];
				$cm['startTime'] = date('Y-m-d', $value['cm_start_time']);
				$cm['title'] = $value['cm_name'];
				$cm['price'] = $value['cm_price'];
				$school_online = $this->one_info('school_online', 'so_id', $detail['so_id']);
				$cm['school'] = $school_online['so_name'];
				$cm['id'] = $value['cm_id'];
				$cm['img'] = $value['cm_img'];
				$cm['is_group'] = $value['is_group'];
				$detail['child_course'][] = $cm;
			} */
		
		}else{
			$detail['child_course']=array();
		}
		if($detail){
			$return['code'] = '0';
			$return['data']=$detail;
			echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
		}else{
			$return['code'] = '1';
			$return['data']=array();
			echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
		}
	}
			
	/*
	 *	取出课程列表信息
	 */
	public function do_detail_list() {
		global $_G;	
		if(!$_G['user_id']){
			$noauth = [
					'code'=>'10000',
					'msg'=>lang('core','noauth'),
					'data'=>[]
			];
			echo json_encode($noauth,JSON_FORCE_OBJECT);return false;
			 
		}
		$detail = array();
		$page = max(1, intval($_GET['page']));
		$perpage = $limit = isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : '10';
		$start=(($page-1) * $perpage);
		$wheresql = "";
		$wheresql .= " AND isdelete = 0";
		$api=isset($_REQUEST['api']) ? $_REQUEST['api']:'json';
		//年级
		$grade_id= isset($_REQUEST['grade_id']) && !empty($_REQUEST['grade_id']) ? $_REQUEST['grade_id'] : '';
		if($grade_id){
			$wheresql .= " AND  cm_grade_id = ".$grade_id;
		}
		//学科
		$subject_id= isset($_REQUEST['subject_id']) && !empty($_REQUEST['subject_id']) ? $_REQUEST['subject_id'] : '';
		if($subject_id){
			$wheresql .= " AND  cm_subject_id = ".$subject_id;
		}
		//分类
		$cate_id= isset($_REQUEST['cate_id']) && !empty($_REQUEST['cate_id']) ? $_REQUEST['cate_id'] : '';		if($cate_id){
			$wheresql .= " AND  cm_cate_id = ".$cate_id;
		}
		//课程名称
		$cm_name= isset($_REQUEST['cm_name']) && !empty($_REQUEST['cm_name']) ? $_REQUEST['cm_name'] : '';
		if($cm_name){		
			$wheresql .= " AND cm_name LIKE '%".$cm_name."%'";
		}
		//是否组合课程
		$is_group= isset($_REQUEST['is_group']) && !empty($_REQUEST['is_group']) ? $_REQUEST['is_group'] : '0';		
		$wheresql .= " AND  is_group = ".$is_group;
		
		//付款状态
		$cm_flag= isset($_REQUEST['cm_flag'])? $_REQUEST['cm_flag'] : '-1';
		if($cm_flag!=-1){
			$wheresql .= " AND  cm_flag = ".$cm_flag;
		}
		//网校id
		if($_G['member']['role_id']==3){  //后台总管理员权限
			$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
		}else{
			$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		}
		//$so_id= isset($_G['so_id'])? $_G['so_id'] : '0';		
		$wheresql .= " AND  so_id = ".$so_id;
		
		$cm_recommend = isset($_REQUEST['cm_recommend']) ? $_REQUEST['cm_recommend'] : '';
		if ($cm_recommend) {
			$wheresql .= " AND cm_recommend = '" . $cm_recommend . "' ";
		}
		
		$cm_price = isset($_REQUEST['cm_price']) ? $_REQUEST['cm_price'] : '';
		if ($cm_price == 1) {
			$wheresql .= " AND cm_price = '0' ";
		}
		if ($cm_price == 2) {
			$wheresql .= " AND cm_price > '0' ";
		}
		
		$k = isset($_REQUEST['k']) ? $_REQUEST['k'] : '';
		$l = isset($_REQUEST['l']) ? $_REQUEST['l'] : '1';
		if ($k && $l) {
			$wheresql .= " AND cm_cc_id_1_" . $l . " = '" . $k . "' ";
		}
		
		$cm_sort_name = isset($_REQUEST['cm_sort_name']) ? $_REQUEST['cm_sort_name'] : '';
		$cm_sort_type = isset($_REQUEST['cm_sort_type']) ? $_REQUEST['cm_sort_type'] : '';
		$cm_sort_name_array = array("cm_id", "cm_price", "cm_count", "good_review", "cm_price");
		$cm_sort_type_array = array('DESC', 'ASC');
		if ($cm_sort_name && $cm_sort_type && in_array($cm_sort_type, $cm_sort_type_array) && in_array($cm_sort_name, $cm_sort_name_array)) {
			$orderby = " ORDER BY " . $cm_sort_name . " " . $cm_sort_type;
		} else {
			$orderby = " ORDER BY cm_id DESC ";
		}
		
		//DEBUG 初始化请求请求获取一页列表数据的参数
		$page_condition=array(
				'page' => $page,//int 请求页面 页码
				'limit' => $limit,//int 每页请求个数
				'perpage' => $perpage,//int 每页显示个数
				'wheresql' => $wheresql,//string //条件SQL语句
				'orderby' => $orderby,//string 排序规则
		);		
		$page_result = $this->detail_list('course_main',$page_condition);
		//DEBUG 调试输出
		if($page_result){
			$return['code'] = '0';
			$return['data']=$page_result;			
			echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
		}else{
			$return['code'] = '1';
			$return['data']=array();
			echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
		}
				
	}
    
	/*
	 *  添加课程
	 */
	public function do_add(){				
		global $_G;	
		$res_data=array();
		$client=isset($_REQUEST['client']) ? $_REQUEST['client']:'pc';
		$course_main = isset($_REQUEST['course_main']) && !empty($_REQUEST['course_main']) ? $_REQUEST['course_main']:'';
		
		//网校id
		if($_G['member']['role_id']==3){  //后台总管理员权限
			$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
		}else{
			$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		}

		$course_main['so_id'] = $so_id;
		
		//TODO 后端字段校验 根据具体业务逻辑添加
		//DEBUG 判断是否数组字段,如果是数组转换为逗号间隔 字符串存贮
		foreach($course_main AS $key => $value){
			if(is_array($value) && !empty($value)){
				$course_main[$key] = implode(",", $value);
			}
		}
		$course_main['create_dateline'] = TIMESTAMP;
		$course_main['modify_dateline'] = TIMESTAMP;
		$course_main['user_id'] = $_G['user_id'];
		
		$insert_data = $this->add('course_main',$course_main);		
		if($insert_data){										
			$return['code'] = '0';
			$return['data']=$insert_data;
			echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
		}else{
			$return['code'] = '1';
			$return['data']=array();
			echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
		}
		
	}
	
	/*
	 *  添加课程
	 */
	public function do_mod_child(){
		global $_G;
		$res_data=array();
		$client=isset($_REQUEST['client']) ? $_REQUEST['client']:'pc';
		$cg_id=isset($_REQUEST['cg_id']) ? $_REQUEST['cg_id']:'';
		$cm_id = isset($_REQUEST['cm_id']) && !empty($_REQUEST['cm_id']) ? $_REQUEST['cm_id']:'';
		//TODO 后端字段校验 根据具体业务逻辑添加
		//DEBUG 判断是否数组字段,如果是数组转换为逗号间隔 字符串存贮
		/* foreach($course_main AS $key => $value){
			if(is_array($value) && !empty($value)){
				$course_main[$key] = implode(",", $value);
			}
		}
		$course_main['create_dateline'] = TIMESTAMP;
		$course_main['modify_dateline'] = TIMESTAMP;
		$course_main['user_id'] = $_G['user_id']; */
	
		$is_insert = $this->mod_child('course_group_lesson',$cg_id,$cm_id);
		if($is_insert){
			$insert_data=array(
					"cg_id"=>$cg_id,
					"cm_id"=>$cm_id
			);
			$return['code'] = '0';
			$return['data']=$insert_data;
			echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
		}else{
			$return['code'] = '1';
			$return['data']=array();
			echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
		}
	
	}
    
	/*
	*  编辑课程信息
	*/
	public function do_edit() {
        global $_G;		
		$course_main = isset($_REQUEST['course_main']) && !empty($_REQUEST['course_main']) ? $_REQUEST['course_main']:'';
        $cm_id = isset($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';
        if($cm_id){                      
            //DEBUG 判断是否数组字段,如果是数组转换为逗号间隔 字符串存贮          
            foreach($course_main AS $key => $value){
            	if(is_array($value) && !empty($value)){
            		$course_main[$key] = implode(",", $value);
            	}
            }         
            $course_main['modify_dateline'] = TIMESTAMP;                      
            $where = array('cm_id'=>$cm_id);
            $effect_row = $this->edit('course_main',$course_main,$where);
            if($effect_row){
                $return['code'] = '0';
				$return['data']=$course_main;
				echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
            }else{
            	$return['code'] = '1';
            	$return['data']=array();
            	echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
            }            
        }else{
            	$return['code'] = '3';
            	$return['data']=array();
            	echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
        }
	}
    
	/*
	*  删除课程信息
	*/
	public function do_delete() {
        global $_G;
        $cm_id = isset($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';      
        if($cm_id){
            $effect_row = $this->delete("course_main", array("cm_id" => $cm_id));
            if($effect_row){
            	if($effect_row==='-1'){
            		//已有用户购买该课程
            		$return['code'] = '4';
            		$return['data']=array();
            		echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
            	}else{
	                $return['code'] = '0';
					$return['data']=array();
					echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
            	}
            }else{           	
                $return['code'] = '1';
            	$return['data']=array();
            	echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
            }
        }else{
            $return['code'] = '3';
            $return['data']=array();
            echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
        }
    }
	/*
	*  系统信息列表
	*/
	public function do_index(){
        global $_G;
        $page = max(1, intval($_GET['page']));
        $perpage = $limit = 20;
        $start=(($page-1) * $perpage);
        $wheresql = "";
        $keyword = isset($_REQUEST['keyword']) ? $_REQUEST['keyword'] : '';
        if($keyword){
            $wheresql = " AND  LIKE '%".$keyword."%' ";
        }
        $orderby = " ORDER BY cm_id DESC ";
        //DEBUG 初始化请求请求获取一页列表数据的参数
        $page_condition=array(
            'page' => $page,//int 请求页面 页码
            'limit' => $limit,//int 每页请求个数
            'perpage' => $perpage,//int 每页显示个数
            'wheresql' => $wheresql,//string //条件SQL语句 
            'orderby' => $orderby,//string 排序规则
        );
        //DEBUG 列表数据返回结构
        /*
        $page_result = array(
            //int 返回结果总数
            'total_rows' => $total_rows,
            //array 一页数据数组
            'page_data' => $page_data 
        );
        */
        $page_result = $this->index('course_main',$page_condition);
        $multipage = multi($page_result['total_rows'], $perpage, $page, "index.php?mod=course&action=main&do=index&keyword=".$keyword);
		include template('course/main/index');	
	}

   /**
     * 接口 AJAX或外部请求检索数据
     *
     * @param $return_type string json/xml.
     *
     * @return print string json/xml.
     */
	public function do_api(){
        $return = '';
        $page = max(1, intval($_GET['page']));
        $perpage = $limit = 20;
        $start=(($page-1) * $perpage);
        $keyword = isset($_REQUEST['keyword']) ? $_REQUEST['keyword'] : '';
        $return_type = isset($_REQUEST['return_type']) ? $_REQUEST['return_type'] : 'json';
        $wheresql = "";
        if($keyword){
            $wheresql = " WHERE title LIKE '%".$keyword."%'";
        }
        $orderby = " ORDER BY cm_id DESC ";
        //DEBUG 初始化请求请求获取一页列表数据的参数
        $page_condition=array(
            'page' => $page,//int 请求页面 页码
            'limit' => $limit,//int 每页请求个数
            'perpage' => $perpage,//int 每页显示个数
            'wheresql' => $wheresql,//string //条件SQL语句 
            'orderby' => $orderby,//string 排序规则
        );
        //DEBUG 列表数据返回结构
        /*
        $page_result = array(
            //int 返回结果总数
            'total_rows' => $total_rows,
            //array 一页数据数组
            'page_data' => $page_data 
        );
        */
        $page_result = $this->api('course_main',$page_condition);      
        if('json'==$return_type){
            $return = json_encode($page_result);	
        }elseif('xml'==$return_type){
            $return = array2xml($page_result);
        }
        //DEBUG 接口响应直接输出返回
		echo $return;
	}
	

	/**
	 * 上课统计 省 市 县 学校 班级
	 */
	public function do_study_statistics(){
		global $_G;
		$cm=0;
		//此处接收传递的搜索条件
		$ue_area_id1 = isset($_REQUEST['ue_area_id1']) && !empty($_REQUEST['ue_area_id1']) ? $_REQUEST['ue_area_id1'] : '';//省
		$ue_area_id2 = isset($_REQUEST['ue_area_id2']) && !empty($_REQUEST['ue_area_id2']) ? $_REQUEST['ue_area_id2'] : '';//市
		$ue_area_id3 = isset($_REQUEST['ue_area_id3']) && !empty($_REQUEST['ue_area_id3']) ? $_REQUEST['ue_area_id3'] : '';//县
		$sm_id = isset($_REQUEST['sm_id']) && !empty($_REQUEST['sm_id']) ? $_REQUEST['sm_id'] : '';//学校
		$class_id = isset($_REQUEST['class_id']) && !empty($_REQUEST['class_id']) ? $_REQUEST['class_id'] : '';//班级
		$cm_id = isset($_REQUEST['cm_id']) && !empty($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';//课程编号 必填项
		$ch_id = isset($_REQUEST['ch_id']) && !empty($_REQUEST['ch_id']) ? $_REQUEST['ch_id'] : '';//课时编号
		$cm_cate_id = isset($_REQUEST['cm_cate_id']) && !empty($_REQUEST['cm_cate_id']) ? $_REQUEST['cm_cate_id'] : '';//课程分类
		$grade_id = isset($_REQUEST['grade_id']) && !empty($_REQUEST['grade_id']) ? $_REQUEST['grade_id'] : '';//年级属性
		$cm_subject_id = isset($_REQUEST['cm_subject_id']) && !empty($_REQUEST['cm_subject_id']) ? $_REQUEST['cm_subject_id'] : '';//学科属性
	
		$page = isset($_REQUEST['page']) && !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1;
		$limit =$perpage= isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : 15;
	
		//如果没有传递进来要查询的课程编号
		if(!$cm_id||!$_G['user_id']){
			$return['code'] = '1';
			echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
			return false;
		}
	
		//先划分学校范围
		if(!$sm_id){
			$sm_id = $this->one_sm_info('user_detail', 'user_id', $_G['user_id']);
		}
		//网校id
		if($_G['member']['role_id']==82){  //网校理员权限
			$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		}else{
			$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
		}
		//此处获取当前要被查询的课程名称
		$cm_name = ext::get_cm_info($cm_id, 'cm_name');
		$am_1_name = $am_2_name = $am_3_name = $sm_name = $class_name =$ch_name =$grade_name=$cm_cate_name = $subject_name = '';//初始化信息项 省名称 市名称 县名称 学校名称 班级名称
	
		if($ue_area_id1){//如果传递进来了 省份id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id1 );
			$am_1_name = $info['am_name'];
		}
	
		if($ue_area_id2){//如果传递进来了 市区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id2);
			$am_2_name = $info['am_name'];
		}
	
		if($ue_area_id3){//如果传递进来了 县区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id3);
			$am_3_name = $info['am_name'];
		}
	
		if($sm_id){//如果传递进来了 学校id 对应查询名称
			$info = $this->one_info('school_main', 'sm_id', $sm_id);
			$sm_name = $info['sm_name'];
		}
	
		if($class_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('class_main', 'class_id', $class_id);
			$class_name = $info['class_name'];
		}
		
		if($grade_id){//如果传递进来了 年级id 对应查询名称
			$grade_main = [
				'301'=>'一年级',
				'302'=>'二年级',
				'303'=>'三年级',
				'304'=>'四年级',
				'305'=>'五年级',
				'306'=>'六年级',
				'307'=>'初一',
				'308'=>'初二',
				'309'=>'初三',
				'310'=>'高一',
				'311'=>'高二',
				'312'=>'高三',										
			];						
			$grade_name = $grade_main[$grade_id];
		}
		if($cm_subject_id){//如果传递进来了 年级id 对应查询名称
			$subject_main = [
				"1"=>"语文",
				"2"=>"数学",
				"3"=>"英语",
				"4"=>"政治",
				"5"=>"物理",
				"6"=>"生物",
				"7"=>"地理",
				"8"=>"历史",
				"9"=>"化学",
				"10"=>"信息技术",
				"11"=>"安全知识",
				"12"=>"组合",
				"13"=>"美术",
				"20244"=>"科学",
				"20245"=>"社会思品",
				"20246"=>"家庭教育",
				"20247"=>"心理健康",
			];
			$subject_name = $subject_main[$cm_subject_id];
		}
		if($cm_cate_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('course_cate', 'cc_id', $cm_cate_id);
			$cm_cate_name = $info['cc_name'];
		}
		$whereSql = " and tc.cm_id = '".$cm_id."' ";
	
		if($ch_id){//如果传递进来了 课时id 对应查询名称
			$info = $this->one_info('course_hour', 'ch_id', $ch_id);
			$ch_name = $info['ch_name'];
			//$whereSql .= " and ch_id = '".$ch_id."' ";
		}
	
		$flag = 5;//1.查询全国所有的省份信息 2.查询指定省份的所有城市信息 3.查询指定市的所有县信息 4.查询指定县的所有学校信息 5.查询制定学校的所有班级信息 6.查询制定班级所有上课的学生
		//此处先划分一下本次查询的结果集范围
		//1.如果没有传递进来任何地区检索信息的话 则默认查询所有的省份
		//2.如果传递进来了省份的信息的话，默认查询所有市的信息
		//3.如果传递进来了市的信息的话，则查询对应县的信息
		//4.如果传递进来了县的信息的话，则查询对应学校的信息
		//5.如果传递进来了指定学校的信息的话，则查询对应班级的信息
		//6.如果传递进来了指定班级的信息的话，则查询对应那些学生上了该课程
		if($ue_area_id1){//传递进来了 省份
			$whereSql.= " and ud.am_id_1 = ".$ue_area_id1." ";
			$flag = 2;
		}
	
		if($ue_area_id2){//传递进来了 市
			$whereSql.= " and ud.am_id_2 = ".$ue_area_id2." ";
			$flag = 3;
		}
	
		if($ue_area_id3){//传递进来了 县
			$whereSql.= " and ud.am_id_3 = ".$ue_area_id3." ";
			$flag = 4;
		}
	
		if($sm_id){//传递进来了 学校
			$whereSql.= " and ud.sm_id = ".$sm_id." ";
			$flag = 5;
		}
		if($so_id){//网校
			$whereSql.= " and ud.so_id = ".$so_id." ";
		}
		if($class_id){//传递进来了 班级
			$whereSql.= " and ud.class_id = ".$class_id." ";
			$flag = 6;
		}
		if($grade_id){//如果传递进来了年级属性
			$cm=1;
			$whereSql.= " and cm.cm_grade_id = '".$grade_id."' ";
		}
		if($cm_cate_id){//如果传递进来了课程分类
			$cm=1;
			$whereSql.= " and cm.cm_cate_id = '".$cm_cate_id."' ";
		} 
				
		if($cm_subject_id){//如果传递进来了学科属性
			$cm=1;
			$whereSql.= " and cm.cm_subject_id = '".$cm_subject_id."' ";
		} 
	
		$queries = '';
		$groupby = '';
		$c_key1='';
		$c_key2=$c_val=1;
		switch ($flag) {
			case 1://查全国所有省份				
				$c_key1='am_id_1';
				break;
			case 2://查指定省份所有市				
				$c_key1='am_id_2';				
				break;
			case 3://查指定市所有县			
				$c_key1='am_id_3';				
				break;
			case 4://查指定县所有学校				
				$c_key1='sm_id';				
				break;
			case 5://查指定学校所有班级				
				$c_key1='class_id';			
				break;
			case 6://查指定班级所有上课学生			
				$c_key1='user_id';				
				break;
			default:
				break;
		}					
		$name_arr=array(
				'cm_name' => $cm_name,//课程名称
				'ch_name' => $ch_name,//课时名称
				'am_1_name'=> $am_1_name,//省名称
				'am_2_name' => $am_2_name,//市名称
				'am_3_name' => $am_3_name,//县名称
				'sm_name' => $sm_name,//学校名称
				'class_name' => $class_name,//班级名称
				'cm_cate_name' => $cm_cate_name,//分类名称
				'grade_name' => $grade_name,//年级名称
				'subject_name' => $subject_name//科目名称
		);
		$condition=array(
			'c_key1'=> $c_key1,		
			'cm_id' => $cm_id,
			'ch_id' => $ch_id,
			'flag'  => $flag,
			'cm'   => $cm,	
			'whereSql' =>$whereSql
		);		
		//列表中需显示对应的名称					
		$res_data = $this->study_info($name_arr,$condition);					
		$return['code'] = '0';
		$return['data'] = $res_data;
		
		echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
		return false;
	}
	
	/**
	 * 上课统计 省 市 县 学校 班级
	 */
	public function do_study_export(){
		global $_G;
		$cm = 0;
		//此处接收传递的搜索条件
		$ue_area_id1 = isset($_REQUEST['ue_area_id1']) && !empty($_REQUEST['ue_area_id1']) ? $_REQUEST['ue_area_id1'] : '';//省
		$ue_area_id2 = isset($_REQUEST['ue_area_id2']) && !empty($_REQUEST['ue_area_id2']) ? $_REQUEST['ue_area_id2'] : '';//市
		$ue_area_id3 = isset($_REQUEST['ue_area_id3']) && !empty($_REQUEST['ue_area_id3']) ? $_REQUEST['ue_area_id3'] : '';//县
		$sm_id = isset($_REQUEST['sm_id']) && !empty($_REQUEST['sm_id']) ? $_REQUEST['sm_id'] : '';//学校
		$class_id = isset($_REQUEST['class_id']) && !empty($_REQUEST['class_id']) ? $_REQUEST['class_id'] : '';//班级
		$cm_id = isset($_REQUEST['cm_id']) && !empty($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';//课程编号 必填项
		$ch_id = isset($_REQUEST['ch_id']) && !empty($_REQUEST['ch_id']) ? $_REQUEST['ch_id'] : '';//课时编号
		$cm_cate_id = isset($_REQUEST['cm_cate_id']) && !empty($_REQUEST['cm_cate_id']) ? $_REQUEST['cm_cate_id'] : '';//课程分类
		$grade_id = isset($_REQUEST['grade_id']) && !empty($_REQUEST['grade_id']) ? $_REQUEST['grade_id'] : '';//年级属性
		$cm_subject_id = isset($_REQUEST['cm_subject_id']) && !empty($_REQUEST['cm_subject_id']) ? $_REQUEST['cm_subject_id'] : '';//学科属性
	
		$page = isset($_REQUEST['page']) && !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1;
		$limit =$perpage= isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : 15;
	
		//如果没有传递进来要查询的课程编号
		if(!$cm_id||!$_G['user_id']){
			$return['code'] = '1';
			echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
			return false;
		}
	
		//先划分学校范围
		if(!$sm_id){
			$sm_id = $this->one_sm_info('user_detail', 'user_id', $_G['user_id']);
		}
		
		//网校id
		if($_G['member']['role_id']==82){  //网校理员权限
			$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		}else{
			$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
		}
		//此处获取当前要被查询的课程名称
		$cm_name = ext::get_cm_info($cm_id, 'cm_name');
		$am_1_name = $am_2_name = $am_3_name = $sm_name = $class_name =$ch_name = $grade_name=$cm_cate_name = $subject_name = '';//初始化信息项 省名称 市名称 县名称 学校名称 班级名称
	
		if($ue_area_id1){//如果传递进来了 省份id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id1 );
			$am_1_name = $info['am_name'];
		}
	
		if($ue_area_id2){//如果传递进来了 市区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id2);
			$am_2_name = $info['am_name'];
		}
	
		if($ue_area_id3){//如果传递进来了 县区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id3);
			$am_3_name = $info['am_name'];
		}
	
		if($sm_id){//如果传递进来了 学校id 对应查询名称
			$info = $this->one_info('school_main', 'sm_id', $sm_id);
			$sm_name = $info['sm_name'];
		}
	
		if($class_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('class_main', 'class_id', $class_id);
			$class_name = $info['class_name'];
		}
		if($grade_id){//如果传递进来了 年级id 对应查询名称
			$grade_main = [
					'301'=>'一年级',
					'302'=>'二年级',
					'303'=>'三年级',
					'304'=>'四年级',
					'305'=>'五年级',
					'306'=>'六年级',
					'307'=>'初一',
					'308'=>'初二',
					'309'=>'初三',
					'310'=>'高一',
					'311'=>'高二',
					'312'=>'高三',
			];
			$grade_name = $grade_main[$grade_id];
		}
		if($cm_subject_id){//如果传递进来了 年级id 对应查询名称
			$subject_main = [
					"1"=>"语文",
					"2"=>"数学",
					"3"=>"英语",
					"4"=>"政治",
					"5"=>"物理",
					"6"=>"生物",
					"7"=>"地理",
					"8"=>"历史",
					"9"=>"化学",
					"10"=>"信息技术",
					"11"=>"安全知识",
					"12"=>"组合",
					"13"=>"美术",
					"20244"=>"科学",
					"20245"=>"社会思品",
					"20246"=>"家庭教育",
					"20247"=>"心理健康",
			];
			$subject_name = $subject_main[$cm_subject_id];
		}
		if($cm_cate_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('course_cate', 'cc_id', $cm_cate_id);
			$cm_cate_name = $info['cc_name'];
		}
		$whereSql = " and tc.cm_id = '".$cm_id."' ";
	
		if($ch_id){//如果传递进来了 课时id 对应查询名称
			$info = $this->one_info('course_hour', 'ch_id', $ch_id);
			$ch_name = $info['ch_name'];
			//$whereSql .= " and ch_id = '".$ch_id."' ";
		}
	
		$flag = 5;//1.查询全国所有的省份信息 2.查询指定省份的所有城市信息 3.查询指定市的所有县信息 4.查询指定县的所有学校信息 5.查询制定学校的所有班级信息 6.查询制定班级所有上课的学生
		//此处先划分一下本次查询的结果集范围
		//1.如果没有传递进来任何地区检索信息的话 则默认查询所有的省份
		//2.如果传递进来了省份的信息的话，默认查询所有市的信息
		//3.如果传递进来了市的信息的话，则查询对应县的信息
		//4.如果传递进来了县的信息的话，则查询对应学校的信息
		//5.如果传递进来了指定学校的信息的话，则查询对应班级的信息
		//6.如果传递进来了指定班级的信息的话，则查询对应那些学生上了该课程
		if($ue_area_id1){//传递进来了 省份
			$whereSql.= " and ud.am_id_1 = ".$ue_area_id1." ";
			$flag = 2;
		}
	
		if($ue_area_id2){//传递进来了 市
			$whereSql.= " and ud.am_id_2 = ".$ue_area_id2." ";
			$flag = 3;
		}
	
		if($ue_area_id3){//传递进来了 县
			$whereSql.= " and ud.am_id_3 = ".$ue_area_id3." ";
			$flag = 4;
		}
	
		if($sm_id){//传递进来了 学校
			$whereSql.= " and ud.sm_id = ".$sm_id." ";
			$flag = 5;
		}
		if($so_id){//网校
			$whereSql.= " and ud.so_id = ".$so_id." ";
		}
		if($class_id){//传递进来了 班级
			$whereSql.= " and ud.class_id = ".$class_id." ";
			$flag = 6;
		}
	
		if($grade_id){//如果传递进来了年级属性
			$cm=1;
			$whereSql.= " and cm.cm_grade_id = '".$grade_id."' ";
		}
		if($cm_cate_id){//如果传递进来了课程分类
			$cm=1;
			$whereSql.= " and cm.cm_cate_id = '".$cm_cate_id."' ";
		}
		
		if($cm_subject_id){//如果传递进来了学科属性
			$cm=1;
			$whereSql.= " and cm.cm_subject_id = '".$cm_subject_id."' ";
		}
	
		$c_key1='';	
		switch ($flag) {
			case 1://查全国所有省份
				$c_key1='am_id_1';
				break;
			case 2://查指定省份所有市
				$c_key1='am_id_2';
				break;
			case 3://查指定市所有县
				$c_key1='am_id_3';
				break;
			case 4://查指定县所有学校
				$c_key1='sm_id';
				break;
			case 5://查指定学校所有班级
				$c_key1='class_id';
				break;
			case 6://查指定班级所有上课学生
				$c_key1='user_id';
				break;
			default:
				break;
		}
		$name_arr=array(
				'cm_name' => $cm_name,//课程名称
				'ch_name' => $ch_name,//课时名称
				'am_1_name'=> $am_1_name,//省名称
				'am_2_name' => $am_2_name,//市名称
				'am_3_name' => $am_3_name,//县名称
				'sm_name' => $sm_name,//学校名称
				'class_name' => $class_name,//班级名称
				'cm_cate_name' => $cm_cate_name,//分类名称
				'grade_name' => $grade_name,//年级名称
				'subject_name' => $subject_name//科目名称
		);
		$condition=array(
				'c_key1'=> $c_key1,
				'cm_id' => $cm_id,
				'ch_id' => $ch_id,
				'flag'  => $flag,
				'cm'    => $cm,
				'whereSql' =>$whereSql
		);
		//列表中需显示对应的名称
		$res_data = $this->study_info($name_arr,$condition);
		
		//开始组装目标数组
		$filename = 'skltj'.date('YmdHis').'.csv'; //设置文件名
		$f = ',';//定义分隔符
		if($class_id){
			if($ch_id){
				$list[] = iconv("utf-8","gb2312",'课程名称'.$f.'课时名称'.$f.'省'.$f.'市'.$f.'区县'.$f.'学校'.$f.'班级'.$f.'课程分类'.$f.'年级'.$f.'科目'.$f.'姓名'.$f.'是否上课（1是，0否）');
				
				//将上述结果集转换为目标数组
				if(!empty($res_data) && is_array($res_data)){
					foreach ($res_data as $item) {
						$list[] = iconv("utf-8","gb2312",$item['cm_name'].$f.$item['ch_name'].$f.$item['am_1_name'].$f.$item['am_2_name'].$f.$item['am_3_name'].$f.$item['sm_name'].$f.$item['class_name'].$f.$item['cm_cate_name'].$f.$item['grade_name'].$f.$item['subject_name'].$f.$item['user_name'].$f.$item['has_looked']);
					}
				}
			}else{
				$list[] = iconv("utf-8","gb2312",'课程名称'.$f.'课时名称'.$f.'省'.$f.'市'.$f.'区县'.$f.'学校'.$f.'班级'.$f.'课程分类'.$f.'年级'.$f.'科目'.$f.'姓名'.$f.'上课率');
				
				//将上述结果集转换为目标数组
				if(!empty($res_data) && is_array($res_data)){
					foreach ($res_data as $item) {
						$list[] = iconv("utf-8","gb2312",$item['cm_name'].$f.$item['ch_name'].$f.$item['am_1_name'].$f.$item['am_2_name'].$f.$item['am_3_name'].$f.$item['sm_name'].$f.$item['class_name'].$f.$item['cm_cate_name'].$f.$item['grade_name'].$f.$item['subject_name'].$f.$item['user_name'].$f.$item['class_rate']);
					}
				}
			}
			
		}else{
			$list[] = iconv("utf-8","gb2312",'课程名称'.$f.'课时名称'.$f.'省'.$f.'市'.$f.'区县'.$f.'学校'.$f.'班级'.$f.'课程分类'.$f.'年级'.$f.'科目'.$f.'上课率');
			
			//将上述结果集转换为目标数组
			if(!empty($res_data) && is_array($res_data)){
				foreach ($res_data as $item) {
					$list[] = iconv("utf-8","gb2312",$item['cm_name'].$f.$item['ch_name'].$f.$item['am_1_name'].$f.$item['am_2_name'].$f.$item['am_3_name'].$f.$item['sm_name'].$f.$item['class_name'].$f.$item['cm_cate_name'].$f.$item['grade_name'].$f.$item['subject_name'].$f.$item['user_name'].$f.$item['class_rate']);
				}
			}
		}
		//$target = SITE_ROOT.'data/upload/';	
		$target = PATH_UPLOAD.'data/upload/';
		$fp = fopen($target.$filename, 'w');
		//向目标文件写入操作
		foreach ($list as $line) {
			fputcsv($fp, explode(',', $line));
		}
		
		fclose($fp);
		
		$return['code'] = '1';
		//检测是否对应已生成csv文件
		if(is_file($target.$filename)){
		//2017-6-6 11:51:34 此处将该csv文件上传到文件服务器，同时删除本地的文件
			$data = ['filedata'  =>  new CURLFile($target.$filename), 'dir' => '/'];
			$ch = curl_init();
			
			curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
			curl_setopt($ch, CURLOPT_URL, 'http://101.37.15.34/upload.php');
			curl_setopt($ch, CURLOPT_POST, true );
			curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
			curl_setopt($ch, CURLOPT_HEADER, false);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
			
			$res = curl_exec($ch);
			curl_close($ch);
			
			//此处删除掉本地的文件
			@unlink($target.$filename);
			if($res == 'success'){//成功
				$return['code'] = '0';
				$return['data']['url'] = 'http://fstore.jxzhjy.com/data/upload/'.$filename;
			}
			else{//远程文件上传失败
				$return['code'] = '1';
				$return['data']= [];
			}
						
		}
			
		echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
		return false;
	}
	
	/**
	 * 上课统计详细图  省 市 县 学校 班级
	 */
	public function do_study_details(){
		global $_G;
		$cm = 0;
		//此处接收传递的搜索条件
		$ue_area_id1 = isset($_REQUEST['ue_area_id1']) && !empty($_REQUEST['ue_area_id1']) ? $_REQUEST['ue_area_id1'] : '';//省
		$ue_area_id2 = isset($_REQUEST['ue_area_id2']) && !empty($_REQUEST['ue_area_id2']) ? $_REQUEST['ue_area_id2'] : '';//市
		$ue_area_id3 = isset($_REQUEST['ue_area_id3']) && !empty($_REQUEST['ue_area_id3']) ? $_REQUEST['ue_area_id3'] : '';//县
		$sm_id = isset($_REQUEST['sm_id']) && !empty($_REQUEST['sm_id']) ? $_REQUEST['sm_id'] : '';//学校
		$class_id = isset($_REQUEST['class_id']) && !empty($_REQUEST['class_id']) ? $_REQUEST['class_id'] : '';//班级
		$cm_id = isset($_REQUEST['cm_id']) && !empty($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';//课程编号 必填项
		$ch_id = isset($_REQUEST['ch_id']) && !empty($_REQUEST['ch_id']) ? $_REQUEST['ch_id'] : '';//课时编号
		$cm_cate_id = isset($_REQUEST['cm_cate_id']) && !empty($_REQUEST['cm_cate_id']) ? $_REQUEST['cm_cate_id'] : '';//课程分类
		$grade_id = isset($_REQUEST['grade_id']) && !empty($_REQUEST['grade_id']) ? $_REQUEST['grade_id'] : '';//年级属性
		$cm_subject_id = isset($_REQUEST['cm_subject_id']) && !empty($_REQUEST['cm_subject_id']) ? $_REQUEST['cm_subject_id'] : '';//学科属性
	
		$page = isset($_REQUEST['page']) && !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1;
		$limit =$perpage= isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : 15;
	
		//如果没有传递进来要查询的课程编号
	
		if(!$cm_id||!$_G['user_id']){
			$return['code'] = '1';
			echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
			return false;
		}
	
		//先划分学校范围
		if(!$sm_id){
			$sm_id = $this->one_sm_info('user_detail', 'user_id', $_G['user_id']);
		}
	
		//网校id
		if($_G['member']['role_id']==82){  //网校理员权限
			$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		}else{
			$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
		}
		//此处获取当前要被查询的课程名称
		$cm_name = ext::get_cm_info($cm_id, 'cm_name');
		$am_1_name = $am_2_name = $am_3_name = $sm_name = $class_name =$ch_name = $grade_name=$cm_cate_name = $subject_name = '';//初始化信息项 省名称 市名称 县名称 学校名称 班级名称
	
		if($ue_area_id1){//如果传递进来了 省份id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id1 );
			$am_1_name = $info['am_name'];
		}
	
		if($ue_area_id2){//如果传递进来了 市区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id2);
			$am_2_name = $info['am_name'];
		}
	
		if($ue_area_id3){//如果传递进来了 县区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id3);
			$am_3_name = $info['am_name'];
		}
	
		if($sm_id){//如果传递进来了 学校id 对应查询名称
			$info = $this->one_info('school_main', 'sm_id', $sm_id);
			$sm_name = $info['sm_name'];
		}
	
		if($class_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('class_main', 'class_id', $class_id);
			$class_name = $info['class_name'];
		}
	
		$whereSql = " and tc.cm_id = '".$cm_id."' ";
	
		if($ch_id){//如果传递进来了 课时id 对应查询名称
			$info = $this->one_info('course_hour', 'ch_id', $ch_id);
			$ch_name = $info['ch_name'];
			//$whereSql .= " and ch_id = '".$ch_id."' ";
		}
		if($grade_id){//如果传递进来了 年级id 对应查询名称
			$grade_main = [
					'301'=>'一年级',
					'302'=>'二年级',
					'303'=>'三年级',
					'304'=>'四年级',
					'305'=>'五年级',
					'306'=>'六年级',
					'307'=>'初一',
					'308'=>'初二',
					'309'=>'初三',
					'310'=>'高一',
					'311'=>'高二',
					'312'=>'高三',
			];
			$grade_name = $grade_main[$grade_id];
		}
		if($cm_subject_id){//如果传递进来了 年级id 对应查询名称
			$subject_main = [
					"1"=>"语文",
					"2"=>"数学",
					"3"=>"英语",
					"4"=>"政治",
					"5"=>"物理",
					"6"=>"生物",
					"7"=>"地理",
					"8"=>"历史",
					"9"=>"化学",
					"10"=>"信息技术",
					"11"=>"安全知识",
					"12"=>"组合",
					"13"=>"美术",
					"20244"=>"科学",
					"20245"=>"社会思品",
					"20246"=>"家庭教育",
					"20247"=>"心理健康",
			];
			$subject_name = $subject_main[$cm_subject_id];
		}
		if($cm_cate_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('course_cate', 'cc_id', $cm_cate_id);
			$cm_cate_name = $info['cc_name'];
		}
	
		$flag = 5;//1.查询全国所有的省份信息 2.查询指定省份的所有城市信息 3.查询指定市的所有县信息 4.查询指定县的所有学校信息 5.查询制定学校的所有班级信息 6.查询制定班级所有上课的学生
		//此处先划分一下本次查询的结果集范围
		//1.如果没有传递进来任何地区检索信息的话 则默认查询所有的省份
		//2.如果传递进来了省份的信息的话，默认查询所有市的信息
		//3.如果传递进来了市的信息的话，则查询对应县的信息
		//4.如果传递进来了县的信息的话，则查询对应学校的信息
		//5.如果传递进来了指定学校的信息的话，则查询对应班级的信息
		//6.如果传递进来了指定班级的信息的话，则查询对应那些学生上了该课程
		if($ue_area_id1){//传递进来了 省份
			$whereSql.= " and ud.am_id_1 = ".$ue_area_id1." ";
			$flag = 2;
		}
	
		if($ue_area_id2){//传递进来了 市
			$whereSql.= " and ud.am_id_2 = ".$ue_area_id2." ";
			$flag = 3;
		}
	
		if($ue_area_id3){//传递进来了 县
			$whereSql.= " and ud.am_id_3 = ".$ue_area_id3." ";
			$flag = 4;
		}
	
		if($sm_id){//传递进来了 学校
			$whereSql.= " and ud.sm_id = ".$sm_id." ";
			$flag = 5;
		}
		if($so_id){//网校
			$whereSql.= " and ud.so_id = ".$so_id." ";
		}
		if($class_id){//传递进来了 班级
			$whereSql.= " and ud.class_id = ".$class_id." ";
			$flag = 6;
		}
	
		if($grade_id){//如果传递进来了年级属性
			$cm=1;
			$whereSql.= " and cm.cm_grade_id = '".$grade_id."' ";
		}
		if($cm_cate_id){//如果传递进来了课程分类
			$cm=1;
			$whereSql.= " and cm.cm_cate_id = '".$cm_cate_id."' ";
		}
		
		if($cm_subject_id){//如果传递进来了学科属性
			$cm=1;
			$whereSql.= " and cm.cm_subject_id = '".$cm_subject_id."' ";
		}
		
	
		$queries = '';
		$groupby = '';
		$c_key1='';
		$c_key2=$c_val=1;
		switch ($flag) {
			case 1://查全国所有省份
				$c_key1='am_id_1';
				break;
			case 2://查指定省份所有市
				$c_key1='am_id_2';
				break;
			case 3://查指定市所有县
				$c_key1='am_id_3';
				break;
			case 4://查指定县所有学校
				$c_key1='sm_id';
				break;
			case 5://查指定学校所有班级
				$c_key1='class_id';
				break;
			case 6://查指定班级所有上课学生
				$c_key1='user_id';
				break;
			default:
				break;
		}
		$name_arr=array(
				'cm_name' => $cm_name,//课程名称
				'ch_name' => $ch_name,//课时名称
				'am_1_name'=> $am_1_name,//省名称
				'am_2_name' => $am_2_name,//市名称
				'am_3_name' => $am_3_name,//县名称
				'sm_name' => $sm_name,//学校名称
				'class_name' => $class_name,//班级名称
				'cm_cate_name' => $cm_cate_name,//分类名称
				'grade_name' => $grade_name,//年级名称
				'subject_name' => $subject_name//科目名称
		);
		$condition=array(
				'c_key1'=> $c_key1,
				'cm_id' => $cm_id,
				'ch_id' => $ch_id,
				'flag'  => $flag,
				'cm'    => $cm,
				'whereSql' =>$whereSql
		);
		//列表中需显示对应的名称
		$res_data = $this->study_detail_info($name_arr,$condition);
		$return['code'] = '0';
		$return['data'] = $res_data;
	
		echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
		return false;
	}
	/**
	 * 上课统计详细图  省 市 县 学校 班级
	 */
	public function do_study_trend(){
		global $_G;
		$cm = 0;
		//此处接收传递的搜索条件
		$ue_area_id1 = isset($_REQUEST['ue_area_id1']) && !empty($_REQUEST['ue_area_id1']) ? $_REQUEST['ue_area_id1'] : '';//省
		$ue_area_id2 = isset($_REQUEST['ue_area_id2']) && !empty($_REQUEST['ue_area_id2']) ? $_REQUEST['ue_area_id2'] : '';//市
		$ue_area_id3 = isset($_REQUEST['ue_area_id3']) && !empty($_REQUEST['ue_area_id3']) ? $_REQUEST['ue_area_id3'] : '';//县
		$sm_id = isset($_REQUEST['sm_id']) && !empty($_REQUEST['sm_id']) ? $_REQUEST['sm_id'] : '';//学校
		$class_id = isset($_REQUEST['class_id']) && !empty($_REQUEST['class_id']) ? $_REQUEST['class_id'] : '';//班级
		$cm_id = isset($_REQUEST['cm_id']) && !empty($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';//课程编号 必填项
		$ch_id = isset($_REQUEST['ch_id']) && !empty($_REQUEST['ch_id']) ? $_REQUEST['ch_id'] : '';//课时编号
		$cm_cate_id = isset($_REQUEST['cm_cate_id']) && !empty($_REQUEST['cm_cate_id']) ? $_REQUEST['cm_cate_id'] : '';//课程分类
		$grade_id = isset($_REQUEST['grade_id']) && !empty($_REQUEST['grade_id']) ? $_REQUEST['grade_id'] : '';//年级属性
		$cm_subject_id = isset($_REQUEST['cm_subject_id']) && !empty($_REQUEST['cm_subject_id']) ? $_REQUEST['cm_subject_id'] : '';//学科属性
	
		$page = isset($_REQUEST['page']) && !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1;
		$limit =$perpage= isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : 15;
	
		//如果没有传递进来要查询的课程编号
		if(!$cm_id||!$_G['user_id']){
			$return['code'] = '1';
			echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
			return false;
		}
	
		//先划分学校范围
		if(!$sm_id){
			$sm_id = $this->one_sm_info('user_detail', 'user_id', $_G['user_id']);
		}
	
		//网校id
		if($_G['member']['role_id']==82){  //网校理员权限
			$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		}else{
			$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
		}
		//此处获取当前要被查询的课程名称
		$cm_name = ext::get_cm_info($cm_id, 'cm_name');
		$am_1_name = $am_2_name = $am_3_name = $sm_name = $class_name =$ch_name =$grade_name=$cm_cate_name = $subject_name ='';//初始化信息项 省名称 市名称 县名称 学校名称 班级名称
	
		if($ue_area_id1){//如果传递进来了 省份id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id1 );
			$am_1_name = $info['am_name'];
		}
	
		if($ue_area_id2){//如果传递进来了 市区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id2);
			$am_2_name = $info['am_name'];
		}
	
		if($ue_area_id3){//如果传递进来了 县区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id3);
			$am_3_name = $info['am_name'];
		}
	
		if($sm_id){//如果传递进来了 学校id 对应查询名称
			$info = $this->one_info('school_main', 'sm_id', $sm_id);
			$sm_name = $info['sm_name'];
		}
	
		if($class_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('class_main', 'class_id', $class_id);
			$class_name = $info['class_name'];
		}
	
		if($grade_id){//如果传递进来了 年级id 对应查询名称
			$grade_main = [
					'301'=>'一年级',
					'302'=>'二年级',
					'303'=>'三年级',
					'304'=>'四年级',
					'305'=>'五年级',
					'306'=>'六年级',
					'307'=>'初一',
					'308'=>'初二',
					'309'=>'初三',
					'310'=>'高一',
					'311'=>'高二',
					'312'=>'高三',
			];
			$grade_name = $grade_main[$grade_id];
		}
		if($cm_subject_id){//如果传递进来了 年级id 对应查询名称
			$subject_main = [
					"1"=>"语文",
					"2"=>"数学",
					"3"=>"英语",
					"4"=>"政治",
					"5"=>"物理",
					"6"=>"生物",
					"7"=>"地理",
					"8"=>"历史",
					"9"=>"化学",
					"10"=>"信息技术",
					"11"=>"安全知识",
					"12"=>"组合",
					"13"=>"美术",
					"20244"=>"科学",
					"20245"=>"社会思品",
					"20246"=>"家庭教育",
					"20247"=>"心理健康",
			];
			$subject_name = $subject_main[$cm_subject_id];
		}
		if($cm_cate_id){//如果传递进来了分类id 对应查询名称
			$info = $this->one_info('course_cate', 'cc_id', $cm_cate_id);
			$cm_cate_name = $info['cc_name'];
		}
		$whereSql = " and tc.cm_id = '".$cm_id."' ";
		$chl_where = " and chl.cm_id = '".$cm_id."' ";
		if($ch_id){//如果传递进来了 课时id 对应查询名称
			$info = $this->one_info('course_hour', 'ch_id', $ch_id);
			$ch_name = $info['ch_name'];
			//$whereSql .= " and ch_id = '".$ch_id."' ";
		}
	
		$flag = 5;//1.查询全国所有的省份信息 2.查询指定省份的所有城市信息 3.查询指定市的所有县信息 4.查询指定县的所有学校信息 5.查询制定学校的所有班级信息 6.查询制定班级所有上课的学生
		//此处先划分一下本次查询的结果集范围
		//1.如果没有传递进来任何地区检索信息的话 则默认查询所有的省份
		//2.如果传递进来了省份的信息的话，默认查询所有市的信息
		//3.如果传递进来了市的信息的话，则查询对应县的信息
		//4.如果传递进来了县的信息的话，则查询对应学校的信息
		//5.如果传递进来了指定学校的信息的话，则查询对应班级的信息
		//6.如果传递进来了指定班级的信息的话，则查询对应那些学生上了该课程
		if($ue_area_id1){//传递进来了 省份
			$whereSql.= " and ud.am_id_1 = ".$ue_area_id1." ";
			$chl_where .= " and chl.ue_area_id1 = ".$ue_area_id1." ";
			$flag = 2;
		}
	
		if($ue_area_id2){//传递进来了 市
			$whereSql.= " and ud.am_id_2 = ".$ue_area_id2." ";
			$chl_where .= " and chl.ue_area_id2 = ".$ue_area_id2." ";
			$flag = 3;
		}
	
		if($ue_area_id3){//传递进来了 县
			$whereSql.= " and ud.am_id_3 = ".$ue_area_id3." ";
			$chl_where .= " and chl.ue_area_id3 = ".$ue_area_id3." ";
			$flag = 4;
		}
	
		if($sm_id){//传递进来了 学校
			$whereSql.= " and ud.sm_id = ".$sm_id." ";
			$chl_where .= " and chl.sm_id = ".$sm_id." ";
			$flag = 5;
		}
		if($so_id){//网校
			$whereSql.= " and ud.so_id = ".$so_id." ";
		}
		if($class_id){//传递进来了 班级
			$whereSql.= " and ud.class_id = ".$class_id." ";
			$chl_where .= " and chl.class_id = ".$class_id." ";
			$flag = 6;
		}
	
		if($grade_id){//如果传递进来了年级属性
			$cm=1;
			$whereSql.= " and cm.cm_grade_id = '".$grade_id."' ";
			$chl_where .= " and cm.cm_grade_id = ".$class_id." ";
		}
		if($cm_cate_id){//如果传递进来了课程分类
			$cm=1;
			$whereSql.= " and cm.cm_cate_id = '".$cm_cate_id."' ";
			$chl_where .= " and cm.cm_cate_id = ".$class_id." ";
		}
		
		if($cm_subject_id){//如果传递进来了学科属性
			$cm=1;
			$whereSql.= " and cm.cm_subject_id = '".$cm_subject_id."' ";
			$chl_where.= " and cm.cm_subject_id = '".$cm_subject_id."' ";
		}
	
		
		$name_arr=array(
				'cm_name' => $cm_name,//课程名称
				'ch_name' => $ch_name,//课时名称
				'am_1_name'=> $am_1_name,//省名称
				'am_2_name' => $am_2_name,//市名称
				'am_3_name' => $am_3_name,//县名称
				'sm_name' => $sm_name,//学校名称
				'class_name' => $class_name,//班级名称,
				'cm_cate_name' => $cm_cate_name,//分类名称
				'grade_name' => $grade_name,//年级名称
				'subject_name' => $subject_name//科目名称
		);
		$condition=array(				
				'cm_id' => $cm_id,
				'ch_id' => $ch_id,
				'flag'  => $flag,
				'cm'   => $cm, 
				'whereSql' =>$whereSql,
				'chl_where' => $chl_where
		);
		//列表中需显示对应的名称
		$res_data = $this->study_detail_trend($name_arr,$condition);
		$return['code'] = '0';
		$return['data'] = $res_data;
	
		echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
		return false;
	}
	/**
	 * 上课时长统计 省 市 县 学校 班级
	 */
	public function do_study_time_statistics(){
		global $_G;
		$cm=0;
		//此处接收传递的搜索条件
		$ue_area_id1 = isset($_REQUEST['ue_area_id1']) && !empty($_REQUEST['ue_area_id1']) ? $_REQUEST['ue_area_id1'] : '';//省
		$ue_area_id2 = isset($_REQUEST['ue_area_id2']) && !empty($_REQUEST['ue_area_id2']) ? $_REQUEST['ue_area_id2'] : '';//市
		$ue_area_id3 = isset($_REQUEST['ue_area_id3']) && !empty($_REQUEST['ue_area_id3']) ? $_REQUEST['ue_area_id3'] : '';//县
		$sm_id = isset($_REQUEST['sm_id']) && !empty($_REQUEST['sm_id']) ? $_REQUEST['sm_id'] : '';//学校
		$class_id = isset($_REQUEST['class_id']) && !empty($_REQUEST['class_id']) ? $_REQUEST['class_id'] : '';//班级
		$cm_id = isset($_REQUEST['cm_id']) && !empty($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';//课程编号 必填项
		$ch_id = isset($_REQUEST['ch_id']) && !empty($_REQUEST['ch_id']) ? $_REQUEST['ch_id'] : '';//课时编号
		$cm_cate_id = isset($_REQUEST['cm_cate_id']) && !empty($_REQUEST['cm_cate_id']) ? $_REQUEST['cm_cate_id'] : '';//课程分类
		$grade_id = isset($_REQUEST['grade_id']) && !empty($_REQUEST['grade_id']) ? $_REQUEST['grade_id'] : '';//年级属性
		$cm_subject_id = isset($_REQUEST['cm_subject_id']) && !empty($_REQUEST['cm_subject_id']) ? $_REQUEST['cm_subject_id'] : '';//学科属性
	
		$page = isset($_REQUEST['page']) && !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1;
		$limit =$perpage= isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : 15;
	
		//如果没有传递进来要查询的课程编号
		if(!$cm_id||!$_G['user_id']){
			$return['code'] = '1';
			echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
			return false;
		}
	
		//先划分学校范围
		if(!$sm_id){
			$sm_id = $this->one_sm_info('user_detail', 'user_id', $_G['user_id']);
		}
	
		//网校id
		if($_G['member']['role_id']==82){  //网校理员权限
			$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		}else{
			$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
		}
		
		//此处获取当前要被查询的课程名称
		$cm_name = ext::get_cm_info($cm_id, 'cm_name');
		$am_1_name = $am_2_name = $am_3_name = $sm_name = $class_name =$ch_name = $grade_name=$cm_cate_name = $subject_name ='';//初始化信息项 省名称 市名称 县名称 学校名称 班级名称
	
		if($ue_area_id1){//如果传递进来了 省份id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id1 );
			$am_1_name = $info['am_name'];
		}
	
		if($ue_area_id2){//如果传递进来了 市区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id2);
			$am_2_name = $info['am_name'];
		}
	
		if($ue_area_id3){//如果传递进来了 县区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id3);
			$am_3_name = $info['am_name'];
		}
	
		if($sm_id){//如果传递进来了 学校id 对应查询名称
			$info = $this->one_info('school_main', 'sm_id', $sm_id);
			$sm_name = $info['sm_name'];
		}
	
		if($class_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('class_main', 'class_id', $class_id);
			$class_name = $info['class_name'];
		}		
		if($grade_id){//如果传递进来了 年级id 对应查询名称
			$grade_main = [
					'301'=>'一年级',
					'302'=>'二年级',
					'303'=>'三年级',
					'304'=>'四年级',
					'305'=>'五年级',
					'306'=>'六年级',
					'307'=>'初一',
					'308'=>'初二',
					'309'=>'初三',
					'310'=>'高一',
					'311'=>'高二',
					'312'=>'高三',
			];
			$grade_name = $grade_main[$grade_id];
		}
		if($cm_subject_id){//如果传递进来了 年级id 对应查询名称
			$subject_main = [
					"1"=>"语文",
					"2"=>"数学",
					"3"=>"英语",
					"4"=>"政治",
					"5"=>"物理",
					"6"=>"生物",
					"7"=>"地理",
					"8"=>"历史",
					"9"=>"化学",
					"10"=>"信息技术",
					"11"=>"安全知识",
					"12"=>"组合",
					"13"=>"美术",
					"20244"=>"科学",
					"20245"=>"社会思品",
					"20246"=>"家庭教育",
					"20247"=>"心理健康",
			];
			$subject_name = $subject_main[$cm_subject_id];
		}
		if($cm_cate_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('course_cate', 'cc_id', $cm_cate_id);
			$cm_cate_name = $info['cc_name'];
		}
		$whereSql = " and tc.cm_id = '".$cm_id."' ";
		
		if($ch_id){//如果传递进来了 课时id 对应查询名称
			$info = $this->one_info('course_hour', 'ch_id', $ch_id);
			$ch_name = $info['ch_name'];
			//$whereSql .= " and ch_id = '".$ch_id."' ";
		}
	
		$flag = 5;//1.查询全国所有的省份信息 2.查询指定省份的所有城市信息 3.查询指定市的所有县信息 4.查询指定县的所有学校信息 5.查询制定学校的所有班级信息 6.查询制定班级所有上课的学生
		//此处先划分一下本次查询的结果集范围
		//1.如果没有传递进来任何地区检索信息的话 则默认查询所有的省份
		//2.如果传递进来了省份的信息的话，默认查询所有市的信息
		//3.如果传递进来了市的信息的话，则查询对应县的信息
		//4.如果传递进来了县的信息的话，则查询对应学校的信息
		//5.如果传递进来了指定学校的信息的话，则查询对应班级的信息
		//6.如果传递进来了指定班级的信息的话，则查询对应那些学生上了该课程
		if($ue_area_id1){//传递进来了 省份
			$whereSql.= " and ud.am_id_1 = ".$ue_area_id1." ";
			$flag = 2;
		}
	
		if($ue_area_id2){//传递进来了 市
			$whereSql.= " and ud.am_id_2 = ".$ue_area_id2." ";
			$flag = 3;
		}
	
		if($ue_area_id3){//传递进来了 县
			$whereSql.= " and ud.am_id_3 = ".$ue_area_id3." ";
			$flag = 4;
		}
	
		if($sm_id){//传递进来了 学校
			$whereSql.= " and ud.sm_id = ".$sm_id." ";
			$flag = 5;
		}
	
		if($so_id){//网校
			$whereSql.= " and ud.so_id = ".$so_id." ";
		}
		if($class_id){//传递进来了 班级
			$whereSql.= " and ud.class_id = ".$class_id." ";
			$flag = 6;
		}
	
		if($grade_id){//如果传递进来了年级属性
			$cm=1;
			$whereSql.= " and cm.cm_grade_id = '".$grade_id."' ";
		}
		if($cm_cate_id){//如果传递进来了课程分类
			$cm=1;
			$whereSql.= " and cm.cm_cate_id = '".$cm_cate_id."' ";
		} 
				
		if($cm_subject_id){//如果传递进来了学科属性
			$cm=1;
			$whereSql.= " and cm.cm_subject_id = '".$cm_subject_id."' ";
		} 
		
		$c_key1='';		
		switch ($flag) {
			case 1://查全国所有省份				
				$c_key1='ue_area_id1';
				break;
			case 2://查指定省份所有市				
				$c_key1='ue_area_id2';				
				break;
			case 3://查指定市所有县				
				$c_key1='ue_area_id3';				
				break;
			case 4://查指定县所有学校				
				$c_key1='sm_id';			
				break;
			case 5://查指定学校所有班级				
				$c_key1='class_id';				
				break;
			case 6://查指定班级所有上课学生			
				$c_key1='user_id';				
				break;
			default:
				break;
		}		
		$name_arr=array(
				'cm_name' => $cm_name,//课程名称
				'ch_name' => $ch_name,//课时名称
				'am_1_name'=> $am_1_name,//省名称
				'am_2_name' => $am_2_name,//市名称
				'am_3_name' => $am_3_name,//县名称
				'sm_name' => $sm_name,//学校名称
				'class_name' => $class_name,//班级名称
				'cm_cate_name' => $cm_cate_name,//分类名称
				'grade_name' => $grade_name,//年级名称
				'subject_name' => $subject_name//科目名称
		);
		$condition=array(
				'c_key1'=> $c_key1,				
				'cm_id' => $cm_id,
				'ch_id' => $ch_id,
				'flag'  => $flag,
				'cm'    => $cm,
				'whereSql' =>$whereSql
		);
		$res_data=array();
		//列表中需显示对应的名称
		
		$res_data = $this->study_time_info($name_arr,$condition);
		
			
		$return['code'] = '0';
		$return['data'] = $res_data;
	
		echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
		return false;
	}
	
	/**
	 * 上课时长统计 省 市 县 学校 班级
	 */
	public function do_study_time_export(){
		global $_G;
		$cm = 0;
		//此处接收传递的搜索条件
		$ue_area_id1 = isset($_REQUEST['ue_area_id1']) && !empty($_REQUEST['ue_area_id1']) ? $_REQUEST['ue_area_id1'] : '';//省
		$ue_area_id2 = isset($_REQUEST['ue_area_id2']) && !empty($_REQUEST['ue_area_id2']) ? $_REQUEST['ue_area_id2'] : '';//市
		$ue_area_id3 = isset($_REQUEST['ue_area_id3']) && !empty($_REQUEST['ue_area_id3']) ? $_REQUEST['ue_area_id3'] : '';//县
		$sm_id = isset($_REQUEST['sm_id']) && !empty($_REQUEST['sm_id']) ? $_REQUEST['sm_id'] : '';//学校
		$class_id = isset($_REQUEST['class_id']) && !empty($_REQUEST['class_id']) ? $_REQUEST['class_id'] : '';//班级
		$cm_id = isset($_REQUEST['cm_id']) && !empty($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';//课程编号 必填项
		$ch_id = isset($_REQUEST['ch_id']) && !empty($_REQUEST['ch_id']) ? $_REQUEST['ch_id'] : '';//课时编号
		$cm_cate_id = isset($_REQUEST['cm_cate_id']) && !empty($_REQUEST['cm_cate_id']) ? $_REQUEST['cm_cate_id'] : '';//课程分类
		$grade_id = isset($_REQUEST['grade_id']) && !empty($_REQUEST['grade_id']) ? $_REQUEST['grade_id'] : '';//年级属性
		$cm_subject_id = isset($_REQUEST['cm_subject_id']) && !empty($_REQUEST['cm_subject_id']) ? $_REQUEST['cm_subject_id'] : '';//学科属性
	
		$page = isset($_REQUEST['page']) && !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1;
		$limit =$perpage= isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : 15;
	
		//如果没有传递进来要查询的课程编号
		if(!$cm_id||!$_G['user_id']){
			$return['code'] = '1';
			echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
			return false;
		}
	
		//先划分学校范围
		if(!$sm_id){
			$sm_id = $this->one_sm_info('user_detail', 'user_id', $_G['user_id']);
		}
	
		//网校id
		if($_G['member']['role_id']==82){  //网校理员权限
			$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		}else{
			$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
		}
		//此处获取当前要被查询的课程名称
		$cm_name = ext::get_cm_info($cm_id, 'cm_name');
		$am_1_name = $am_2_name = $am_3_name = $sm_name = $class_name =$ch_name = $grade_name=$cm_cate_name = $subject_name ='';//初始化信息项 省名称 市名称 县名称 学校名称 班级名称
	
		if($ue_area_id1){//如果传递进来了 省份id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id1 );
			$am_1_name = $info['am_name'];
		}
	
		if($ue_area_id2){//如果传递进来了 市区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id2);
			$am_2_name = $info['am_name'];
		}
	
		if($ue_area_id3){//如果传递进来了 县区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id3);
			$am_3_name = $info['am_name'];
		}
	
		if($sm_id){//如果传递进来了 学校id 对应查询名称
			$info = $this->one_info('school_main', 'sm_id', $sm_id);
			$sm_name = $info['sm_name'];
		}
	
		if($class_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('class_main', 'class_id', $class_id);
			$class_name = $info['class_name'];
		}
	    
		if($grade_id){//如果传递进来了 年级id 对应查询名称
			$grade_main = [
					'301'=>'一年级',
					'302'=>'二年级',
					'303'=>'三年级',
					'304'=>'四年级',
					'305'=>'五年级',
					'306'=>'六年级',
					'307'=>'初一',
					'308'=>'初二',
					'309'=>'初三',
					'310'=>'高一',
					'311'=>'高二',
					'312'=>'高三',
			];
			$grade_name = $grade_main[$grade_id];
		}
		if($cm_subject_id){//如果传递进来了 年级id 对应查询名称
			$subject_main = [
					"1"=>"语文",
					"2"=>"数学",
					"3"=>"英语",
					"4"=>"政治",
					"5"=>"物理",
					"6"=>"生物",
					"7"=>"地理",
					"8"=>"历史",
					"9"=>"化学",
					"10"=>"信息技术",
					"11"=>"安全知识",
					"12"=>"组合",
					"13"=>"美术",
					"20244"=>"科学",
					"20245"=>"社会思品",
					"20246"=>"家庭教育",
					"20247"=>"心理健康",
			];
			$subject_name = $subject_main[$cm_subject_id];
		}
		if($cm_cate_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('course_cate', 'cc_id', $cm_cate_id);
			$cm_cate_name = $info['cc_name'];
		}
		$whereSql = " and tc.cm_id = '".$cm_id."' ";
	
		if($ch_id){//如果传递进来了 课时id 对应查询名称
			$info = $this->one_info('course_hour', 'ch_id', $ch_id);
			$ch_name = $info['ch_name'];
			//$whereSql .= " and ch_id = '".$ch_id."' ";
		}
	
		$flag = 5;//1.查询全国所有的省份信息 2.查询指定省份的所有城市信息 3.查询指定市的所有县信息 4.查询指定县的所有学校信息 5.查询制定学校的所有班级信息 6.查询制定班级所有上课的学生
		//此处先划分一下本次查询的结果集范围
		//1.如果没有传递进来任何地区检索信息的话 则默认查询所有的省份
		//2.如果传递进来了省份的信息的话，默认查询所有市的信息
		//3.如果传递进来了市的信息的话，则查询对应县的信息
		//4.如果传递进来了县的信息的话，则查询对应学校的信息
		//5.如果传递进来了指定学校的信息的话，则查询对应班级的信息
		//6.如果传递进来了指定班级的信息的话，则查询对应那些学生上了该课程
		if($ue_area_id1){//传递进来了 省份
			$whereSql.= " and ud.am_id_1 = ".$ue_area_id1." ";
			$flag = 2;
		}
	
		if($ue_area_id2){//传递进来了 市
			$whereSql.= " and ud.am_id_2 = ".$ue_area_id2." ";
			$flag = 3;
		}
	
		if($ue_area_id3){//传递进来了 县
			$whereSql.= " and ud.am_id_3 = ".$ue_area_id3." ";
			$flag = 4;
		}
	
		if($sm_id){//传递进来了 学校
			$whereSql.= " and ud.sm_id = ".$sm_id." ";
			$flag = 5;
		}
		if($so_id){//网校
			$whereSql.= " and ud.so_id = ".$so_id." ";
		}
		if($class_id){//传递进来了 班级
			$whereSql.= " and ud.class_id = ".$class_id." ";
			$flag = 6;
		}
	
		if($grade_id){//如果传递进来了年级属性
			$cm=1;
			$whereSql.= " and cm.cm_grade_id = '".$grade_id."' ";
		}
		if($cm_cate_id){//如果传递进来了课程分类
			$cm=1;
			$whereSql.= " and cm.cm_cate_id = '".$cm_cate_id."' ";
		}
		
		if($cm_subject_id){//如果传递进来了学科属性
			$cm=1;
			$whereSql.= " and cm.cm_subject_id = '".$cm_subject_id."' ";
		}
	
		$c_key1='';
		switch ($flag) {
			case 1://查全国所有省份
				$c_key1='ue_area_id1';
				break;
			case 2://查指定省份所有市
				$c_key1='ue_area_id2';
				break;
			case 3://查指定市所有县
				$c_key1='ue_area_id3';
				break;
			case 4://查指定县所有学校
				$c_key1='sm_id';
				break;
			case 5://查指定学校所有班级
				$c_key1='class_id';
				break;
			case 6://查指定班级所有上课学生
				$c_key1='user_id';
				break;
			default:
				break;
		}
		$name_arr=array(
				'cm_name' => $cm_name,//课程名称
				'ch_name' => $ch_name,//课时名称
				'am_1_name'=> $am_1_name,//省名称
				'am_2_name' => $am_2_name,//市名称
				'am_3_name' => $am_3_name,//县名称
				'sm_name' => $sm_name,//学校名称
				'class_name' => $class_name,//班级名称
				'cm_cate_name' => $cm_cate_name,//分类名称
				'grade_name' => $grade_name,//年级名称
				'subject_name' => $subject_name//科目名称
		);
		$condition=array(
				'c_key1'=> $c_key1,
				'cm_id' => $cm_id,
				'ch_id' => $ch_id,
				'flag'  => $flag,
				'cm'    => $cm,
				'whereSql' =>$whereSql
		);
		$res_data=array();
		//列表中需显示对应的名称
	
		$res_data = $this->study_time_info($name_arr,$condition);
	
			
		//开始组装目标数组
		$filename = 'sksctj'.date('YmdHis').'.csv'; //设置文件名
		$f = ',';//定义分隔符
		if($class_id){			
			$list[] = iconv("utf-8","gb2312",'课程名称'.$f.'课时名称'.$f.'省'.$f.'市'.$f.'区县'.$f.'学校'.$f.'班级'.$f.'课程分类'.$f.'年级'.$f.'科目'.$f.'姓名'.$f.'上课时长（分钟）'.$f.'学习次数');
			
			//将上述结果集转换为目标数组
			if(!empty($res_data) && is_array($res_data)){
				foreach ($res_data as $item) {
					$list[] = iconv("utf-8","gb2312",$item['cm_name'].$f.$item['ch_name'].$f.$item['am_1_name'].$f.$item['am_2_name'].$f.$item['am_3_name'].$f.$item['sm_name'].$f.$item['class_name'].$f.$item['cm_cate_name'].$f.$item['grade_name'].$f.$item['subject_name'].$f.$item['user_name'].$f.$item['study_time'].$f.$item['order_num']);
				}
			}
						
		}else{
			$list[] = iconv("utf-8","gb2312",'课程名称'.$f.'课时名称'.$f.'省'.$f.'市'.$f.'区县'.$f.'学校'.$f.'班级'.$f.'课程分类'.$f.'年级'.$f.'科目'.$f.'上课时长（分钟）');
			
			//将上述结果集转换为目标数组
			if(!empty($res_data) && is_array($res_data)){
				foreach ($res_data as $item) {
					$list[] = iconv("utf-8","gb2312",$item['cm_name'].$f.$item['ch_name'].$f.$item['am_1_name'].$f.$item['am_2_name'].$f.$item['am_3_name'].$f.$item['sm_name'].$f.$item['class_name'].$f.$item['cm_cate_name'].$f.$item['grade_name'].$f.$item['subject_name'].$f.$item['study_time']);
				}
			}
		}
	//	$target = SITE_ROOT.'data/upload/';	
		$target = PATH_UPLOAD.'data/upload/';		
		$fp = fopen($target.$filename, 'w');
		//向目标文件写入操作
		foreach ($list as $line) {
			fputcsv($fp, explode(',', $line));
		}
		
		fclose($fp);
		
		$return['code'] = '1';
		//检测是否对应已生成csv文件
		if(is_file($target.$filename)){
			
			//2017-6-6 11:51:34 此处将该csv文件上传到文件服务器，同时删除本地的文件
			$data = ['filedata'  =>  new CURLFile($target.$filename), 'dir' => '/'];
			$ch = curl_init();
			
			curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
			curl_setopt($ch, CURLOPT_URL, 'http://101.37.15.34/upload.php');
			curl_setopt($ch, CURLOPT_POST, true );
			curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
			curl_setopt($ch, CURLOPT_HEADER, false);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
			
			$res = curl_exec($ch);
			curl_close($ch);
			
			//此处删除掉本地的文件
			@unlink($target.$filename);
			if($res == 'success'){//成功
				$return['code'] = '0';
				$return['data']['url'] = 'http://fstore.jxzhjy.com/data/upload/'.$filename;
			}
			else{//远程文件上传失败
				$return['code'] = '1';
				$return['data']= [];
			}
						
		}
			
		echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
		
		return false;
	}
	
	/**
	 * 上课时长趋势 省 市 县 学校 班级
	 */
	public function do_study_time_trend(){
		global $_G;
		$cm = 0;
		//此处接收传递的搜索条件
		$ue_area_id1 = isset($_REQUEST['ue_area_id1']) && !empty($_REQUEST['ue_area_id1']) ? $_REQUEST['ue_area_id1'] : '';//省
		$ue_area_id2 = isset($_REQUEST['ue_area_id2']) && !empty($_REQUEST['ue_area_id2']) ? $_REQUEST['ue_area_id2'] : '';//市
		$ue_area_id3 = isset($_REQUEST['ue_area_id3']) && !empty($_REQUEST['ue_area_id3']) ? $_REQUEST['ue_area_id3'] : '';//县
		$sm_id = isset($_REQUEST['sm_id']) && !empty($_REQUEST['sm_id']) ? $_REQUEST['sm_id'] : '';//学校
		$class_id = isset($_REQUEST['class_id']) && !empty($_REQUEST['class_id']) ? $_REQUEST['class_id'] : '';//班级
		$cm_id = isset($_REQUEST['cm_id']) && !empty($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';//课程编号 必填项
		$ch_id = isset($_REQUEST['ch_id']) && !empty($_REQUEST['ch_id']) ? $_REQUEST['ch_id'] : '';//课时编号
		$cm_cate_id = isset($_REQUEST['cm_cate_id']) && !empty($_REQUEST['cm_cate_id']) ? $_REQUEST['cm_cate_id'] : '';//课程分类
		$grade_id = isset($_REQUEST['grade_id']) && !empty($_REQUEST['grade_id']) ? $_REQUEST['grade_id'] : '';//年级属性
		$cm_subject_id = isset($_REQUEST['cm_subject_id']) && !empty($_REQUEST['cm_subject_id']) ? $_REQUEST['cm_subject_id'] : '';//学科属性
	
		$page = isset($_REQUEST['page']) && !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1;
		$limit =$perpage= isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : 15;
	
		//如果没有传递进来要查询的课程编号
		if(!$cm_id||!$_G['user_id']){
			$return['code'] = '1';
			echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
			return false;
		}
	
		//先划分学校范围
		if(!$sm_id){
			$sm_id = $this->one_sm_info('user_detail', 'user_id', $_G['user_id']);
		}
	
		//网校id
		if($_G['member']['role_id']==82){  //网校理员权限
			$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		}else{
			$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
		}
		//此处获取当前要被查询的课程名称
		$cm_name = ext::get_cm_info($cm_id, 'cm_name');
		$am_1_name = $am_2_name = $am_3_name = $sm_name = $class_name =$ch_name = $grade_name=$cm_cate_name = $subject_name ='';//初始化信息项 省名称 市名称 县名称 学校名称 班级名称
	
		if($ue_area_id1){//如果传递进来了 省份id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id1 );
			$am_1_name = $info['am_name'];
		}
	
		if($ue_area_id2){//如果传递进来了 市区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id2);
			$am_2_name = $info['am_name'];
		}
	
		if($ue_area_id3){//如果传递进来了 县区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id3);
			$am_3_name = $info['am_name'];
		}
	
		if($sm_id){//如果传递进来了 学校id 对应查询名称
			$info = $this->one_info('school_main', 'sm_id', $sm_id);
			$sm_name = $info['sm_name'];
		}
	
		if($class_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('class_main', 'class_id', $class_id);
			$class_name = $info['class_name'];
		}
		if($grade_id){//如果传递进来了 年级id 对应查询名称
			$grade_main = [
					'301'=>'一年级',
					'302'=>'二年级',
					'303'=>'三年级',
					'304'=>'四年级',
					'305'=>'五年级',
					'306'=>'六年级',
					'307'=>'初一',
					'308'=>'初二',
					'309'=>'初三',
					'310'=>'高一',
					'311'=>'高二',
					'312'=>'高三',
			];
			$grade_name = $grade_main[$grade_id];
		}
		if($cm_subject_id){//如果传递进来了 年级id 对应查询名称
			$subject_main = [
					"1"=>"语文",
					"2"=>"数学",
					"3"=>"英语",
					"4"=>"政治",
					"5"=>"物理",
					"6"=>"生物",
					"7"=>"地理",
					"8"=>"历史",
					"9"=>"化学",
					"10"=>"信息技术",
					"11"=>"安全知识",
					"12"=>"组合",
					"13"=>"美术",
					"20244"=>"科学",
					"20245"=>"社会思品",
					"20246"=>"家庭教育",
					"20247"=>"心理健康",
			];
			$subject_name = $subject_main[$cm_subject_id];
		}
		if($cm_cate_id){//如果传递进来了分类id 对应查询名称
			$info = $this->one_info('course_cate', 'cc_id', $cm_cate_id);
			$cm_cate_name = $info['cc_name'];
		}
		$whereSql = " and chl.cm_id = '".$cm_id."' ";
		
		if($ch_id){//如果传递进来了 课时id 对应查询名称
			$info = $this->one_info('course_hour', 'ch_id', $ch_id);
			$ch_name = $info['ch_name'];
			//$whereSql .= " and ch_id = '".$ch_id."' ";
		}
	
		$flag = 5;//1.查询全国所有的省份信息 2.查询指定省份的所有城市信息 3.查询指定市的所有县信息 4.查询指定县的所有学校信息 5.查询制定学校的所有班级信息 6.查询制定班级所有上课的学生
		//此处先划分一下本次查询的结果集范围
		//1.如果没有传递进来任何地区检索信息的话 则默认查询所有的省份
		//2.如果传递进来了省份的信息的话，默认查询所有市的信息
		//3.如果传递进来了市的信息的话，则查询对应县的信息
		//4.如果传递进来了县的信息的话，则查询对应学校的信息
		//5.如果传递进来了指定学校的信息的话，则查询对应班级的信息
		//6.如果传递进来了指定班级的信息的话，则查询对应那些学生上了该课程
		if($ue_area_id1){//传递进来了 省份
			$whereSql.= " and ud.am_id_1 = ".$ue_area_id1." ";			
			$flag = 2;
		}
		
		if($ue_area_id2){//传递进来了 市
			$whereSql.= " and ud.am_id_2 = ".$ue_area_id2." ";			
			$flag = 3;
		}
		
		if($ue_area_id3){//传递进来了 县
			$whereSql.= " and ud.am_id_3 = ".$ue_area_id3." ";		
			$flag = 4;
		}
		
		if($sm_id){//传递进来了 学校
			$whereSql.= " and ud.sm_id = ".$sm_id." ";		
			$flag = 5;
		}
		if($so_id){//网校
			$whereSql.= " and ud.so_id = ".$so_id." ";
		}
		if($class_id){//传递进来了 班级
			$whereSql.= " and ud.class_id = ".$class_id." ";		
			$flag = 6;
		}
		
	
		if($grade_id){//如果传递进来了年级属性
			$cm=1;
			$whereSql.= " and cm.cm_grade_id = '".$grade_id."' ";
			
		}
		if($cm_cate_id){//如果传递进来了课程分类
			$cm=1;
			$whereSql.= " and cm.cm_cate_id = '".$cm_cate_id."' ";
			
		}
		
		if($cm_subject_id){//如果传递进来了学科属性
			$cm=1;
			$whereSql.= " and cm.cm_subject_id = '".$cm_subject_id."' ";			
		}
	
	
		$c_key1='';
		switch ($flag) {
			case 1://查全国所有省份
				$c_key1='ue_area_id1';
				break;
			case 2://查指定省份所有市
				$c_key1='ue_area_id2';
				break;
			case 3://查指定市所有县
				$c_key1='ue_area_id3';
				break;
			case 4://查指定县所有学校
				$c_key1='sm_id';
				break;
			case 5://查指定学校所有班级
				$c_key1='class_id';
				break;
			case 6://查指定班级所有上课学生
				$c_key1='user_id';
				break;
			default:
				break;
		}
		$name_arr=array(
				'cm_name' => $cm_name,//课程名称
				'ch_name' => $ch_name,//课时名称
				'am_1_name'=> $am_1_name,//省名称
				'am_2_name' => $am_2_name,//市名称
				'am_3_name' => $am_3_name,//县名称
				'sm_name' => $sm_name,//学校名称
				'class_name' => $class_name,//班级名称
				'cm_cate_name' => $cm_cate_name,//分类名称
				'grade_name' => $grade_name,//年级名称
				'subject_name' => $subject_name//科目名称
		);
		$condition=array(
				'c_key1'=> $c_key1,
				'cm_id' => $cm_id,
				'ch_id' => $ch_id,
				'flag'  => $flag,
				'cm'    => $cm,
				'whereSql' =>$whereSql
		);
		$res_data=array();
		//列表中需显示对应的名称
	
		$res_data = $this->study_time_trend($name_arr,$condition);
	
			
		$return['code'] = '0';
		$return['data'] = $res_data;
	
		echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
		return false;
	}
	
	/**
	 * 上课时长详细  省 市 县 学校 班级
	 */
	public function do_study_time_details(){
		global $_G;
		$cm = 0;
		//此处接收传递的搜索条件
		$ue_area_id1 = isset($_REQUEST['ue_area_id1']) && !empty($_REQUEST['ue_area_id1']) ? $_REQUEST['ue_area_id1'] : '';//省
		$ue_area_id2 = isset($_REQUEST['ue_area_id2']) && !empty($_REQUEST['ue_area_id2']) ? $_REQUEST['ue_area_id2'] : '';//市
		$ue_area_id3 = isset($_REQUEST['ue_area_id3']) && !empty($_REQUEST['ue_area_id3']) ? $_REQUEST['ue_area_id3'] : '';//县
		$sm_id = isset($_REQUEST['sm_id']) && !empty($_REQUEST['sm_id']) ? $_REQUEST['sm_id'] : '';//学校
		$class_id = isset($_REQUEST['class_id']) && !empty($_REQUEST['class_id']) ? $_REQUEST['class_id'] : '';//班级
		$cm_id = isset($_REQUEST['cm_id']) && !empty($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';//课程编号 必填项
		$ch_id = isset($_REQUEST['ch_id']) && !empty($_REQUEST['ch_id']) ? $_REQUEST['ch_id'] : '';//课时编号
		$cm_cate_id = isset($_REQUEST['cm_cate_id']) && !empty($_REQUEST['cm_cate_id']) ? $_REQUEST['cm_cate_id'] : '';//课程分类
		$grade_id = isset($_REQUEST['grade_id']) && !empty($_REQUEST['grade_id']) ? $_REQUEST['grade_id'] : '';//年级属性
		$cm_subject_id = isset($_REQUEST['cm_subject_id']) && !empty($_REQUEST['cm_subject_id']) ? $_REQUEST['cm_subject_id'] : '';//学科属性
	
		$page = isset($_REQUEST['page']) && !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1;
		$limit =$perpage= isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : 15;
	
		//如果没有传递进来要查询的课程编号
		if(!$cm_id||!$_G['user_id']){
			$return['code'] = '1';
			echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
			return false;
		}
	
		//先划分学校范围
		if(!$sm_id){
			$sm_id = $this->one_sm_info('user_detail', 'user_id', $_G['user_id']);
		}
		
		//网校id
		if($_G['member']['role_id']==82){  //网校理员权限
			$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		}else{
			$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
		}			
		//此处获取当前要被查询的课程名称
		$cm_name = ext::get_cm_info($cm_id, 'cm_name');
		$am_1_name = $am_2_name = $am_3_name = $sm_name = $class_name =$ch_name = $grade_name=$cm_cate_name = $subject_name = '';//初始化信息项 省名称 市名称 县名称 学校名称 班级名称
	
		if($ue_area_id1){//如果传递进来了 省份id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id1 );
			$am_1_name = $info['am_name'];
		}
	
		if($ue_area_id2){//如果传递进来了 市区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id2);
			$am_2_name = $info['am_name'];
		}
	
		if($ue_area_id3){//如果传递进来了 县区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id3);
			$am_3_name = $info['am_name'];
		}
	
		if($sm_id){//如果传递进来了 学校id 对应查询名称
			$info = $this->one_info('school_main', 'sm_id', $sm_id);
			$sm_name = $info['sm_name'];
		}
	
		if($class_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('class_main', 'class_id', $class_id);
			$class_name = $info['class_name'];
		}
	
		$whereSql = " and tc.cm_id = '".$cm_id."' ";
	
		if($ch_id){//如果传递进来了 课时id 对应查询名称
			$info = $this->one_info('course_hour', 'ch_id', $ch_id);
			$ch_name = $info['ch_name'];
			//$whereSql .= " and ch_id = '".$ch_id."' ";
		}
		if($grade_id){//如果传递进来了 年级id 对应查询名称
			$grade_main = [
					'301'=>'一年级',
					'302'=>'二年级',
					'303'=>'三年级',
					'304'=>'四年级',
					'305'=>'五年级',
					'306'=>'六年级',
					'307'=>'初一',
					'308'=>'初二',
					'309'=>'初三',
					'310'=>'高一',
					'311'=>'高二',
					'312'=>'高三',
			];
			$grade_name = $grade_main[$grade_id];
		}
		if($cm_subject_id){//如果传递进来了 年级id 对应查询名称
			$subject_main = [
					"1"=>"语文",
					"2"=>"数学",
					"3"=>"英语",
					"4"=>"政治",
					"5"=>"物理",
					"6"=>"生物",
					"7"=>"地理",
					"8"=>"历史",
					"9"=>"化学",
					"10"=>"信息技术",
					"11"=>"安全知识",
					"12"=>"组合",
					"13"=>"美术",
					"20244"=>"科学",
					"20245"=>"社会思品",
					"20246"=>"家庭教育",
					"20247"=>"心理健康",
			];
			$subject_name = $subject_main[$cm_subject_id];
		}
		if($cm_cate_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('course_cate', 'cc_id', $cm_cate_id);
			$cm_cate_name = $info['cc_name'];
		}
		$flag = 5;//1.查询全国所有的省份信息 2.查询指定省份的所有城市信息 3.查询指定市的所有县信息 4.查询指定县的所有学校信息 5.查询制定学校的所有班级信息 6.查询制定班级所有上课的学生
		//此处先划分一下本次查询的结果集范围
		//1.如果没有传递进来任何地区检索信息的话 则默认查询所有的省份
		//2.如果传递进来了省份的信息的话，默认查询所有市的信息
		//3.如果传递进来了市的信息的话，则查询对应县的信息
		//4.如果传递进来了县的信息的话，则查询对应学校的信息
		//5.如果传递进来了指定学校的信息的话，则查询对应班级的信息
		//6.如果传递进来了指定班级的信息的话，则查询对应那些学生上了该课程
		if($ue_area_id1){//传递进来了 省份
			$whereSql.= " and ud.am_id_1 = ".$ue_area_id1." ";
			$flag = 2;
		}
	
		if($ue_area_id2){//传递进来了 市
			$whereSql.= " and ud.am_id_2 = ".$ue_area_id2." ";
			$flag = 3;
		}
	
		if($ue_area_id3){//传递进来了 县
			$whereSql.= " and ud.am_id_3 = ".$ue_area_id3." ";
			$flag = 4;
		}
	
		if($sm_id){//传递进来了 学校
			$whereSql.= " and ud.sm_id = ".$sm_id." ";
			$flag = 5;
		}
		
		if($so_id){//网校
			$whereSql.= " and ud.so_id = ".$so_id." ";			
		}
	
		if($class_id){//传递进来了 班级
			$whereSql.= " and ud.class_id = ".$class_id." ";
			$flag = 6;
		}
	
		if($grade_id){//如果传递进来了年级属性
			$cm=1;
			$whereSql.= " and cm.cm_grade_id = '".$grade_id."' ";
		}
		if($cm_cate_id){//如果传递进来了课程分类
			$cm=1;
			$whereSql.= " and cm.cm_cate_id = '".$cm_cate_id."' ";
		}
		
		if($cm_subject_id){//如果传递进来了学科属性
			$cm=1;
			$whereSql.= " and cm.cm_subject_id = '".$cm_subject_id."' ";
		}
	
	
		$c_key1='';
		switch ($flag) {
			case 1://查全国所有省份
				$c_key1='ue_area_id1';
				break;
			case 2://查指定省份所有市
				$c_key1='ue_area_id2';
				break;
			case 3://查指定市所有县
				$c_key1='ue_area_id3';
				break;
			case 4://查指定县所有学校
				$c_key1='sm_id';
				break;
			case 5://查指定学校所有班级
				$c_key1='class_id';
				break;
			case 6://查指定班级所有上课学生
				$c_key1='user_id';
				break;
			default:
				break;
		}
		$name_arr=array(
				'cm_name' => $cm_name,//课程名称
				'ch_name' => $ch_name,//课时名称
				'am_1_name'=> $am_1_name,//省名称
				'am_2_name' => $am_2_name,//市名称
				'am_3_name' => $am_3_name,//县名称
				'sm_name' => $sm_name,//学校名称
				'class_name' => $class_name,//班级名称,
				'cm_cate_name' => $cm_cate_name,//分类名称
				'grade_name' => $grade_name,//年级名称
				'subject_name' => $subject_name//科目名称
				
		);
		$condition=array(
				'c_key1'=> $c_key1,
				'cm_id' => $cm_id,
				'ch_id' => $ch_id,
				'flag'  => $flag,
				'cm'    => $cm,
				'whereSql' =>$whereSql
		);
		$res_data=array();
		//列表中需显示对应的名称

		$res_data = $this->study_time_details($name_arr,$condition);
	
			
		$return['code'] = '0';
		$return['data'] = $res_data;
	
		echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
		return false;
	}
	
	/**
	 * 上课时长详细  省 市 县 学校 班级
	 */
	public function do_study_time_name_details(){
		global $_G;
		$cm = 0;
		//此处接收传递的搜索条件
		//$ue_area_id1 = isset($_REQUEST['ue_area_id1']) && !empty($_REQUEST['ue_area_id1']) ? $_REQUEST['ue_area_id1'] : '';//省
		//$ue_area_id2 = isset($_REQUEST['ue_area_id2']) && !empty($_REQUEST['ue_area_id2']) ? $_REQUEST['ue_area_id2'] : '';//市
		//$ue_area_id3 = isset($_REQUEST['ue_area_id3']) && !empty($_REQUEST['ue_area_id3']) ? $_REQUEST['ue_area_id3'] : '';//县
		//$so_id = isset($_REQUEST['so_id']) && !empty($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '';//学校
		$class_id = isset($_REQUEST['class_id']) && !empty($_REQUEST['class_id']) ? $_REQUEST['class_id'] : '0';//班级
		$cm_id = isset($_REQUEST['cm_id']) && !empty($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';//课程编号 必填项
		$ch_id = isset($_REQUEST['ch_id']) && !empty($_REQUEST['ch_id']) ? $_REQUEST['ch_id'] : '';//课时编号
		//$cm_cate_id = isset($_REQUEST['cm_cate_id']) && !empty($_REQUEST['cm_cate_id']) ? $_REQUEST['cm_cate_id'] : '';//课程分类
	   // $grade_id = isset($_REQUEST['grade_id']) && !empty($_REQUEST['grade_id']) ? $_REQUEST['grade_id'] : '';//年级属性
		//$cm_subject_id = isset($_REQUEST['cm_subject_id']) && !empty($_REQUEST['cm_subject_id']) ? $_REQUEST['cm_subject_id'] : '';//学科属性
	
		//$page = isset($_REQUEST['page']) && !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1;
		//$limit =$perpage= isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : 15;
	
		//如果没有传递进来要查询的课程编号
		if(!$_G['user_id']){
			$return['code'] = '1';
			echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
			return false;
		}
	
		//先划分学校范围
		//网校id
		if($_G['member']['role_id']==82){  //网校理员权限
			$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		}else{
			$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
		}
		//$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
		
		//此处获取当前要被查询的课程名称
		if($ch_id){//如果传递进来了 课时id 对应查询名称
			$info = $this->one_info('course_hour', 'ch_id', $ch_id);
			$ch_name = $res_name=$info['ch_name'];						
			$whereSql = " and tc.cm_id = '".$info['cm_id']."' "." and ud.class_id ='".$class_id."' ";
		}else{
			$cm_name = $res_name = ext::get_cm_info($cm_id, 'cm_name');
			$whereSql = " and tc.cm_id = '".$cm_id."' "." and ud.class_id ='".$class_id."' ";		
		}				
		$info = $this->one_info('class_main', 'class_id', $class_id);
		$class_name = $info['class_name'];								
		$name_arr=[
			'name' => $res_name,
		 	'class_name' => $class_name
		];																			
		$condition=array(				
			'cm_id' => $cm_id,
			'class_id' =>$class_id,
			'ch_id' => $ch_id,							
			'whereSql' =>$whereSql
		);
		$res_data=array();
		//列表中需显示对应的名称	
		$res_data = $this->study_time_name_details($name_arr,$condition);				
		$return['code'] = '0';
		$return['data'] = $res_data;
	
		echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
		return false;
	}
	
	/*
	 *  系统信息列表
	 */
	
	public function do_course_list() {
		global $_G;
		$api = isset($_REQUEST['api']) ? $_REQUEST['api'] : 'json';
		$client = isset($_REQUEST['client']) ? $_REQUEST['client'] : 'wap';
		$page = max(1, intval($_REQUEST['page']));
		$default_limit = 20;
		$cm_recommend = isset($_REQUEST['cm_recommend']) ? $_REQUEST['cm_recommend'] : '';
		$guess_you_like = isset($_REQUEST['guess_you_like']) ? $_REQUEST['guess_you_like'] : '';	
		$cm_grade_id = isset($_REQUEST['cm_grade_id']) ? $_REQUEST['cm_grade_id'] : '';
		$cm_subject_id = isset($_REQUEST['cm_subject_id']) ? $_REQUEST['cm_subject_id'] : '';
		if(!$_G['user_id']){
    		$noauth = [
    				'code'=>'10000',
    				'msg'=>lang('core','noauth'),
    				'data'=>[]
    		];
    		echo json_encode($noauth,JSON_FORCE_OBJECT);return false;
    	
    	}		             
        if($_G['member']['role_id']==3){  //后台总管理员权限
        	$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
        }else{
        	$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
        }
		if ($cm_recommend) {
			$default_limit = 4;
		}
		if ($guess_you_like) {
			$default_limit = 6;
		}
		$perpage = $limit = isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : $default_limit;
		$start = (($page - 1) * $perpage);
		$wheresql = " AND isdelete =0 and so_id = ".$so_id;
		$keyword = isset($_REQUEST['keyword']) ? $_REQUEST['keyword'] : '';
		if ($keyword) {
			$wheresql .= " AND cm_name LIKE '%" . $keyword . "%' ";
		}
		$k = isset($_REQUEST['k']) ? $_REQUEST['k'] : '';
		$l = isset($_REQUEST['l']) ? $_REQUEST['l'] : '1';
		if ($k && $l) {
			$wheresql .= " AND cm_cc_id_1_" . $l . " = '" . $k . "' ";
		}
		if ($cm_recommend) {
			$wheresql .= " AND cm_recommend = '" . $cm_recommend . "' ";
		}
		if ($cm_grade_id) {
			$wheresql .= " AND cm_grade_id = '" . $cm_grade_id . "' ";
		}
		if ($cm_subject_id) {
			$wheresql .= " AND cm_subject_id = '" . $cm_subject_id . "' ";
		}
		$is_group = isset($_REQUEST['is_group']) ? $_REQUEST['is_group'] : '';
		if ($is_group !='') {
			$wheresql .= " AND is_group = '" . $is_group . "' ";
		}
	
		$cm_price = isset($_REQUEST['cm_price']) ? $_REQUEST['cm_price'] : '';
		if ($cm_price == 1) {
			$wheresql .= " AND cm_price = '0' ";
		}
		if ($cm_price == 2) {
			$wheresql .= " AND cm_price > '0' ";
		}
		$cm_sort_name = isset($_REQUEST['cm_sort_name']) ? $_REQUEST['cm_sort_name'] : '';
		$cm_sort_type = isset($_REQUEST['cm_sort_type']) ? $_REQUEST['cm_sort_type'] : '';
		$cm_sort_name_array = array("cm_id", "cm_price", "cm_count", "good_review", "cm_price");
		$cm_sort_type_array = array('DESC', 'ASC');
		if ($cm_sort_name && $cm_sort_type && in_array($cm_sort_type, $cm_sort_type_array) && in_array($cm_sort_name, $cm_sort_name_array)) {
			$orderby = " ORDER BY " . $cm_sort_name . " " . $cm_sort_type;
		} else {
			$orderby = " ORDER BY cm_id DESC ";
		}
		//DEBUG 初始化请求请求获取一页列表数据的参数
		$page_condition = array(
				'page' => $page, //int 请求页面 页码
				'limit' => $limit, //int 每页请求个数
				'perpage' => $perpage, //int 每页显示个数
				'wheresql' => $wheresql, //string //条件SQL语句
				'orderby' => $orderby, //string 排序规则
		);
		$page_result = $this->course_list('course_main', $page_condition);
		if ($client == 'pc') {
			foreach ($page_result['page_data'] AS $key => $value) {
				$tmp_value['type'] = $value['cm_cate_id'];
				$tmp_value['startTime'] = date('Y-m-d', $value['cm_start_time']);
				$tmp_value['title'] = $value['cm_name'];
				$tmp_value['price'] = $value['cm_price'];
				$school_online = $this->one_info('school_online', 'so_id', $value['so_id']);
				$tmp_value['school'] = $school_online['so_name']?$school_online['so_name']:'';
				$tmp_value['id'] = $value['cm_id'];
				$tmp_value['img'] = $value['cm_img'];
				$tmp_value['info'] = $value['cm_brief'];
				$tmp_value['is_group'] = $value['is_group'];
				$page_result['page_data'][$key] = $tmp_value;
			}
			//DEBUG 获取推荐课程/相关课程 开始
			$page_condition = array(
					'page' => 1, //int 请求页面 页码
					'limit' => 3, //int 每页请求个数
					'perpage' => 3, //int 每页显示个数
					'wheresql' => " AND cm_flag =1 AND isdelete=0 AND cm_cc_id_1_" . $l . " ='" . $k . "' and so_id = ".$so_id, //string //条件SQL语句
					'orderby' => '', //string 排序规则
			);
			$course_spread = $this->api('course_main', $page_condition);
			if($course_spread['page_data']){
				foreach ($course_spread['page_data'] AS $key => $value) {
					$tmp = array("type" => '', "startTime" => '', "title" => '', "price" => '', "school" => '', "id" => '', "img" => '');
					$tmp['type'] = $value['cm_cate_id'];
					$tmp['startTime'] = date('Y-m-d', $value['cm_start_time']);
					$tmp['title'] = $value['cm_name'];
					$tmp['price'] = $value['cm_price'];
					$school_online = $this->one_info('school_online', 'so_id', $value['so_id']);
					$tmp['school'] = $school_online['so_name']?$school_online['so_name']:'';
					$tmp['id'] = $value['cm_id'];
					$tmp['img'] = $value['cm_img'];
					$tmp['is_group'] = $value['is_group'];
					$page_result['spread'][] = $tmp;
				}
			}else{
				$page_result['spread']=array();
			}
			//DEBUG DEBUG 获取推荐课程/相关课程 结束
		} else {
			foreach ($page_result['page_data'] AS $key => $value) {
				$tmp_value['cm_id'] = $value['cm_id'];
				$tmp_value['cm_name'] = $value['cm_name'];
				$tmp_value['cm_brief'] = $value['cm_brief'];
				$tmp_value['cm_img'] = $value['cm_img'];
				$tmp_value['cm_price'] = $value['cm_price'];
				$tmp_value['cm_count'] = $value['cm_count'];
				$tmp_value['so_id'] = $value['so_id'];
				$tmp_value['so_name'] = $this->get_field_value_by_id('school_online', 'so_id', $value['so_id'], 'so_name');
				$page_result['page_data'][$key] = $tmp_value;
			}
		}
		if ($_G['gp_api']) {
			$return['code'] = '0';
			if ($client == 'pc') {
				$return['data'] = $page_result;
			} else {
				$return['data']['course_main_index'] = $page_result;
			}
			echo format_data($return, $_G['gp_api'], $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
		} else {
			//$multipage = multi($page_result['total_rows'], $perpage, $page, "index.php?mod=course&action=main&do=index&keyword=".$keyword);
			//include template('course/main/index');
		}
	}
	
	/*
	 *  校级平台首页推荐课程
	 */
	
	public function do_recommend() {
		global $_G;     
        $request_data = isset($_REQUEST['recommend']) && !empty($_REQUEST['recommend']) ? $_REQUEST['recommend'] : '';
        //网校id
        if($_G['member']['role_id']==82){  //网校理员权限
        	$so_id = $this->one_so_info('user_detail', 'user_id', $_G['user_id']);
        }else{
        	$so_id = isset($_REQUEST['so_id']) ? $_REQUEST['so_id'] : '0';
        }
        if ($request_data['cm_id']) {           
                if($request_data['cm_recommend']==''){
                    $request_data['cm_recommend']=0;
                }
                $data = array('cm_recommend'=>$request_data['cm_recommend'],'modify_dateline'=>TIMESTAMP);
                $where = array('cm_id'=>$request_data['cm_id'],'so_id'=>$so_id);
                $effect_row = $this->edit('course_main', $data, $where);
                if ($effect_row) {
                    $return['code'] = '0';
                } else {
                    $return['code'] = '1';
                }           
        } else {
            $return['code'] = '1';
        }       
        echo format_data($return,$_G['gp_api'],$_G['gp_mod'],$_G['gp_action'],$_G['gp_do']);
	}
	
	/**
	 * 学生上课详情统计
	 */
/* 	public function do_student_study_statistics(){
		global $_G;
		//此处接收传递的搜索条件
		$ue_area_id1 = isset($_REQUEST['ue_area_id1']) && !empty($_REQUEST['ue_area_id1']) ? $_REQUEST['ue_area_id1'] : '';//省
		$ue_area_id2 = isset($_REQUEST['ue_area_id2']) && !empty($_REQUEST['ue_area_id2']) ? $_REQUEST['ue_area_id2'] : '';//市
		$ue_area_id3 = isset($_REQUEST['ue_area_id3']) && !empty($_REQUEST['ue_area_id3']) ? $_REQUEST['ue_area_id3'] : '';//县
		$sm_id = isset($_REQUEST['sm_id']) && !empty($_REQUEST['sm_id']) ? $_REQUEST['sm_id'] : '';//学校
		$class_id = isset($_REQUEST['class_id']) && !empty($_REQUEST['class_id']) ? $_REQUEST['class_id'] : '';//班级
		$cm_id = isset($_REQUEST['cm_id']) && !empty($_REQUEST['cm_id']) ? $_REQUEST['cm_id'] : '';//课程编号 必填项
		$ch_id = isset($_REQUEST['ch_id']) && !empty($_REQUEST['ch_id']) ? $_REQUEST['ch_id'] : '';//课时编号
		//$cm_cate_id = isset($_REQUEST['cm_cate_id']) && !empty($_REQUEST['cm_cate_id']) ? $_REQUEST['cm_cate_id'] : '';//课程分类
		$grade_id = isset($_REQUEST['grade_id']) && !empty($_REQUEST['grade_id']) ? $_REQUEST['grade_id'] : '';//年级属性
		$cm_subject_id = isset($_REQUEST['cm_subject_id']) && !empty($_REQUEST['cm_subject_id']) ? $_REQUEST['cm_subject_id'] : '';//学科属性
	
		$page = isset($_REQUEST['page']) && !empty($_REQUEST['page']) ? $_REQUEST['page'] : 1;
		$limit =$perpage= isset($_REQUEST['limit']) && !empty($_REQUEST['limit']) ? $_REQUEST['limit'] : 15;
	
		//如果没有传递进来要查询的课程编号
		if(!$cm_id){
			$return['code'] = '1';
			echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
			return false;
		}
	
		//此处获取当前要被查询的课程名称
		$cm_name = ext::get_cm_info($cm_id, 'cm_name');
		$am_1_name = $am_2_name = $am_3_name = $sm_name = $class_name =$ch_name ='';//初始化信息项 省名称 市名称 县名称 学校名称 班级名称
	
		if($ue_area_id1){//如果传递进来了 省份id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id1 );
			$am_1_name = $info['am_name'];
		}
	
		if($ue_area_id2){//如果传递进来了 市区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id2);
			$am_2_name = $info['am_name'];
		}
	
		if($ue_area_id3){//如果传递进来了 县区id 对应查询名称
			$info = $this->one_info('area_main', 'am_id', $ue_area_id3);
			$am_3_name = $info['am_name'];
		}
	
		if($sm_id){//如果传递进来了 学校id 对应查询名称
			$info = $this->one_info('school_main', 'sm_id', $sm_id);
			$sm_name = $info['sm_name'];
		}
	
		if($class_id){//如果传递进来了 班级id 对应查询名称
			$info = $this->one_info('class_main', 'class_id', $class_id);
			$class_name = $info['class_name'];
		}
	
		$whereSql = " and cm_id = '".$cm_id."' ";
	
		if($ch_id){//如果传递进来了 课时id 对应查询名称
			$info = $this->one_info('course_hour', 'ch_id', $ch_id);
			$ch_name = $info['ch_name'];
			$whereSql .= " and ch_id = '".$ch_id."' ";
		}
	
		$flag = 1;//1.查询全国所有的省份信息 2.查询指定省份的所有城市信息 3.查询指定市的所有县信息 4.查询指定县的所有学校信息 5.查询制定学校的所有班级信息 6.查询制定班级所有上课的学生
		//此处先划分一下本次查询的结果集范围
		//1.如果没有传递进来任何地区检索信息的话 则默认查询所有的省份
		//2.如果传递进来了省份的信息的话，默认查询所有市的信息
		//3.如果传递进来了市的信息的话，则查询对应县的信息
		//4.如果传递进来了县的信息的话，则查询对应学校的信息
		//5.如果传递进来了指定学校的信息的话，则查询对应班级的信息
		//6.如果传递进来了指定班级的信息的话，则查询对应那些学生上了该课程
		if($ue_area_id1){//传递进来了 省份
			$whereSql.= " and ue_area_id1 = ".$ue_area_id1." ";
			$flag = 2;
		}
	
		if($ue_area_id2){//传递进来了 市
			$whereSql.= " and ue_area_id2 = ".$ue_area_id2." ";
			$flag = 3;
		}
	
		if($ue_area_id3){//传递进来了 县
			$whereSql.= " and ue_area_id3 = ".$ue_area_id3." ";
			$flag = 4;
		}
	
		if($sm_id){//传递进来了 学校
			$whereSql.= " and sm_id = ".$sm_id." ";
			$flag = 5;
		}
	
		if($class_id){//传递进来了 班级
			$whereSql.= " and class_id = ".$class_id." ";
			$flag = 6;
		}
	
		
	
		if($grade_id){//如果传递进来了年级属性
			$whereSql.= " and grade_id = '".$grade_id."' ";
		}
	
		if($cm_subject_id){//如果传递进来了学科属性
			$whereSql.= " and cm_subject_id = '".$cm_subject_id."' ";
		}
	
		$queries = '';
		$groupby = '';
		switch ($flag) {
			case 1://查全国所有省份
				$queries = " count(*) as cnt, ue_area_id1 as k ";
				$groupby = " group by ue_area_id1 ";
	
				break;
			case 2://查指定省份所有市
				$queries = " count(*) as cnt, ue_area_id2 as k ";
				$groupby = " group by ue_area_id2 ";
				break;
			case 3://查指定市所有县
				$queries = " count(*) as cnt, ue_area_id3 as k ";
				$groupby = " group by ue_area_id3 ";
				break;
			case 4://查指定县所有学校
				$queries = " count(*) as cnt, sm_id as k ";
				$groupby = " group by sm_id ";
				break;
			case 5://查指定学校所有班级
				$queries = " count(*) as cnt, class_id as k ";
				$groupby = " group by class_id ";
				break;
			case 6://查指定班级所有上课学生
				$queries = " count(*) as cnt, user_id as k ";
				$groupby = " group by user_id ";
				break;
			default:
				break;
		}
		$start=(($page-1) * $perpage);
		$sql = "select ".$queries." from ".DB::table('course_hour_record')." where 1 = 1 ".$whereSql.$groupby.DB::limit($start, $limit);;
		$sql_result = DB::fetch_all($sql);
	
		//上课情况
		$sql_total_rows = "select ".$queries." from ".DB::table('course_hour_record')." where 1 = 1 ".$whereSql.$groupby;
		$sql_total_rows_result = DB::result_first($sql_total_rows);
	
		$totalRows = count($sql_total_rows_result);
		$name_arr=array(
				'cm_name' => $cm_name,//课程名称
				'ch_name' => $ch_name,//课时名称
				'am_1_name'=> $am_1_name,//省名称
				'am_2_name' => $am_2_name,//市名称
				'am_3_name' => $am_3_name,//县名称
				'sm_name' => $sm_name,//学校名称
				'class_name' => $class_name//班级名称
		);
		//列表中需显示对应的名称
		if(!empty($sql_result) && is_array($sql_result)){
			foreach ($sql_result as $k => $item) {
				if(($flag == 1) || ($flag == 2) || ($flag == 3)){//查询地区名称
					//$sql = "select am_name from ".DB::table('area_main')." where am_id = '".$item['k']."' ";
					if($flag==1){
						$res_data = $this->student_study_info('course_hour_record','ue_area_id1',1,1,$item['k'],$flag,$name_arr);
					}elseif ($flag==2){
						//查出所有市的记录
						$res_data = $this->student_study_info('course_hour_record','ue_area_id2','ue_area_id1',$ue_area_id1,$item['k'],$flag,$name_arr);
					}elseif ($flag==3){
						//查出所有县区的记录
						$res_data = $this->student_study_info('course_hour_record','ue_area_id3','ue_area_id2',$ue_area_id2,$item['k'],$flag,$name_arr);
					}
				}
				elseif($flag == 4){//查学校名称
					$res_data = $this->student_study_info('course_hour_record','sm_id','ue_area_id3',$ue_area_id3,$item['k'],$flag,$name_arr);
				}
				elseif($flag == 5){//查班级名称
					$res_data = $this->student_study_info('course_hour_record','class_id','sm_id',$sm_id,$item['k'],$flag,$name_arr);
				}
				elseif($flag == 6){//查指定的班级名称
					$res_data = $this->student_study_info('course_hour_record','user_id','class_id',$class_id,$cm_id,$ch_id,$flag,$name_arr);
				}
			}
		}
	
		//DEBUG 列表数据返回结构
		$page_result = array(
				'page_now' => $page,
				'total_page' => max(1, ceil($totalRows / $limit)),
				//int 返回结果总数
				'total_rows' => $totalRows,
				//array 一页数据数组
				'page_data' => $res_data
		);
		$return['code'] = '0';
		$return['data'] = $page_result;
		$return['data']['page_now'] = $page;
		$return['data']['total_page'] = ceil($return['data']['page_now'] / $limit);
		echo format_data($return, 'json', $_G['gp_mod'], $_G['gp_action'], $_G['gp_do']);
		return false;
	} */
}
	

?>